[
https://issues.apache.org/jira/browse/SOLR-9530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15867251#comment-15867251
]
Ishan Chattopadhyaya commented on SOLR-9530:
--------------------------------------------
To solve the problem of multiple clients concurrently updating the same
document, I think the URP should add the current version to the updated
document. If two or more such documents hit DUP with the same version on
update, all except the first one will fail with a version conflict and the
client could retry that document. Only doing so, i.e. leveraging the optimistic
concurrency for atomic updates, would make this URP a truly "atomic" update
processor.
> 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
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]