[ 
https://issues.apache.org/jira/browse/SOLR-9530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15880169#comment-15880169
 ] 

Amrit Sarkar commented on SOLR-9530:
------------------------------------

Ishan and Noble, the comments are spot-on and thank you for correcting me out.

I will update the description on not touching solrconfig for this URP and use 
in-line parameters like Noble mentioned, this makes much more sense. Also 
suitable examples on what we are trying to achieve here.

Regarding the optimistic concurrency, I will add the *\_version\_* field in the 
incoming document which will make sure the second request fails if two updates 
for a same doc is received via different threads. My doubt is how to deal with 
the failure, Noble mentioned to retry so that it gets ingested(with latest 
version info) and the updates gets reflected. Ishan mentioned just throw _409 
version conflict for the doc_ and let the user decide whether to ingest again 
or not for those particular doc-ids.

Again, I am thankful to both of you for the pointers.

> Add an Atomic Update Processor 
> -------------------------------
>
>                 Key: SOLR-9530
>                 URL: https://issues.apache.org/jira/browse/SOLR-9530
>             Project: Solr
>          Issue Type: New Feature
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Varun Thacker
>         Attachments: SOLR-9530.patch, SOLR-9530.patch, SOLR-9530.patch
>
>
> I'd like to explore the idea of adding a new update processor to help ingest 
> partial updates.
> Example use-case - There are two datasets with a common id field. How can I 
> merge both of them at index time?
> Proposed Solution: 
> {code}
> <updateRequestProcessorChain name="atomic">
>   <processor class="solr.processor.AtomicUpdateProcessorFactory">
>     <str name="my_new_field">add</str>
>   </processor>
>   <processor class="solr.LogUpdateProcessorFactory" />
>   <processor class="solr.RunUpdateProcessorFactory" />
> </updateRequestProcessorChain>
> {code}
> So the first JSON dump could be ingested against 
> {{http://localhost:8983/solr/gettingstarted/update/json}}
> And then the second JSON could be ingested against
> {{http://localhost:8983/solr/gettingstarted/update/json?processor=atomic}}
> The Atomic Update Processor could support all the atomic update operations 
> currently supported.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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

Reply via email to