I think what you want is to just configure TolerantUpdateProcessorFactory
in solrconfig.xml as part of your update chain and specify the _version_
field as appropriate in the URL you referenced.

You can configure TolerantUpdateProcessorFactory to limit the number
of errors allowed before terminating etc. It also returns an indication of
what failures happened.

Best,
Erick



> On Feb 18, 2020, at 8:56 AM, Sachin Divekar <ssd...@gmail.com> wrote:
> 
> Hi,
> 
> I am trying to use *must-exist* and *must-not-exist* semantics of
> optimisti# concurrency provided by Solr. When doing batch updates SolrM
> stops indexing immediately when it encounters a conflict. It does not
> process subsequent records in the input list.
> 
> That is one extreme. And the other extreme is using
> failOnVersionConflicts=false as described in the documentation at
> https://lucene.apache.org/solr/guide/8_4/updating-parts-of-documents.html#optimistic-concurrency
> I think it internally uses *TolerantUpdateProcessorFactory*. This silently
> ignores and suppresses errors and the client never`knows if there was any
> error during indexing which is not useful when using optimistic concurrency.
> 
> I am wondering if there is any way to have batch updates where Solr would
> process the entire batch and send the list of errors in the response.
> 
> I checked if such update processor is available but did not find it. If it
> is not possible in Solr out of the box can it be implemented as a custom
> update processor?
> 
> Thank you.
> 
> --
> Sachin

Reply via email to