On 12/23/2015 12:25 PM, Debraj Manna wrote: > Thanks Shawn. But after making the below changes (making versionable_chain > as default) all my update,inserts & deleteByQuery are failing with the > error "*Error from server at http://localhost:8888/solr/discovery > <http://localhost:8888/solr/discovery>: DistributedUpdateProcessor must > follow DocBasedVersionConstraintsProcessor*" > > <updateRequestProcessorChain name="versionable_chain" default="true"> > <processor class="solr.DocBasedVersionConstraintsProcessorFactory"> > <str name="versionField">doc_version</str> > <bool name="ignoreOldUpdates">false</bool> > </processor> > </updateRequestProcessorChain>
I believe that the standard update processor chain looks like this: <processor class="solr.DistributedUpdateProcessorFactory" /> <processor class="solr.RunUpdateProcessorFactory" /> <processor class="solr.LogUpdateProcessorFactory" /> I think that when you define a processor chain but do not include these default processors, then they are automatically added in a predetermined order and what you end up with is this: <processor class="solr.DistributedUpdateProcessorFactory" /> <!-- Your custom processor list goes here --> <processor class="solr.RunUpdateProcessorFactory" /> <processor class="solr.LogUpdateProcessorFactory" /> The error message you are getting suggests that this order will not work and what you actually need to do is the following: <updateRequestProcessorChain name="versionable_chain" default="true"> <processor class="solr.DocBasedVersionConstraintsProcessorFactory"> <str name="versionField">doc_version</str> <bool name="ignoreOldUpdates">false</bool> </processor> <processor class="solr.DistributedUpdateProcessorFactory" /> <processor class="solr.RunUpdateProcessorFactory" /> <processor class="solr.LogUpdateProcessorFactory" /> </updateRequestProcessorChain> Thanks, Shawn