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

Shalin Shekhar Mangar updated SOLR-4297:
----------------------------------------

    Attachment: SOLR-4297.patch

Test and fix.
                
> 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
>         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-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to