You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Shalin Shekhar Mangar (JIRA)" <ji...@apache.org> on 2013/03/14 06:04:13 UTC

[jira] [Resolved] (SOLR-4297) Atomic update including set null=true throws uniqueKey error depending on order

     [ https://issues.apache.org/jira/browse/SOLR-4297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shalin Shekhar Mangar resolved SOLR-4297.
-----------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.0
                   4.3

Fixed in branch_4x and trunk.
                
> Atomic update including set null=true throws uniqueKey error depending on order
> -------------------------------------------------------------------------------
>
>                 Key: SOLR-4297
>                 URL: https://issues.apache.org/jira/browse/SOLR-4297
>             Project: Solr
>          Issue Type: Bug
>          Components: clients - java, update
>    Affects Versions: 4.0, 4.1
>            Reporter: Ben Pennell
>            Assignee: Shalin Shekhar Mangar
>             Fix For: 4.3, 5.0
>
>         Attachments: SOLR-4297.patch
>
>
> There seems to be a field order issue going on when setting a field to null with a partial update.  I am running the nightly Solr 4.1.0.2013.01.11.08.23.02 build.  Ran into this issue using the nightly build version of Solrj, including the null field fix from Solr-4133.
> Null first, unique field second (this is what is being generated by Solrj)
> {code}
> curl 'http://localhost/solr/update?commit=true' -H 'Content-type:text/xml' -d '<add><doc boost="1.0">
> <field name="timestamp" update="set" null="true"/><field name="id">test</field>
> </doc></add>'
> {code}
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <response>
> <lst name="responseHeader"><int name="status">400</int><int name="QTime">0</int></lst><lst name="error"><str name="msg">Document is missing mandatory uniqueKey field: id</str><int name="code">400</int></lst>
> </response>
> {code}
> id first, then null field
> {code}
> curl 'http://localhost/solr/update?commit=true' -H 'Content-type:text/xml' -d '<add><doc boost="1.0">
> <field name="id">test</field>
> <field name="timestamp" update="set" null="true"/>
> </doc></add>'
> {code}
> {code}
> <response>
> <lst name="responseHeader"><int name="status">0</int><int name="QTime">30</int></lst>
> </response>
> {code}
> Real value first, then id
> {code}
> curl 'http://localhost/solr/update?commit=true' -H 'Content-type:text/xml' -d '<add><doc boost="1.0">
> <field name="timestamp" update="set">1970-01-01T00:00:00Z</field>
> <field name="id">test</field>
> </doc></add>'
> {code}
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <response>
> <lst name="responseHeader"><int name="status">0</int><int name="QTime">28</int></lst>
> </response>
> {code}
> Unfortunately it is doing this field ordering every atomic update request via Solrj I do now.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org