Package org.apache.solr.update.processor
Class TolerantUpdateProcessor
java.lang.Object
org.apache.solr.update.processor.UpdateRequestProcessor
org.apache.solr.update.processor.TolerantUpdateProcessor
- All Implemented Interfaces:
Closeable,AutoCloseable
Suppresses errors for individual add/delete commands within a single request. Instead of failing
on the first error, at most
maxErrors errors (or unlimited if -1==maxErrors
) are logged and recorded the batch continues. The client will receive a status==200
response, which includes a list of errors that were tolerated.
If more then maxErrors occur, the first exception recorded will be re-thrown,
Solr will respond with status==5xx or status==4xx (depending on the
underlying exceptions) and it won't finish processing any more updates in the request. (ie:
subsequent update commands in the request will not be processed even if they are valid).
NOTE: In cloud based collections, this processor expects to NOT be used on DistributedUpdateProcessor.DistribPhase.FROMLEADER requests (because any successes that occur locally on the leader are
considered successes even if there is some subsequent error on a replica). TolerantUpdateProcessorFactory will short circut it away in those requests.
- See Also:
-
Field Summary
Fields inherited from class org.apache.solr.update.processor.UpdateRequestProcessor
next -
Constructor Summary
ConstructorsConstructorDescriptionTolerantUpdateProcessor(SolrQueryRequest req, SolrQueryResponse rsp, UpdateRequestProcessor next, int maxErrors, DistributedUpdateProcessor.DistribPhase distribPhase) -
Method Summary
Methods inherited from class org.apache.solr.update.processor.UpdateRequestProcessor
close, doClose
-
Constructor Details
-
TolerantUpdateProcessor
public TolerantUpdateProcessor(SolrQueryRequest req, SolrQueryResponse rsp, UpdateRequestProcessor next, int maxErrors, DistributedUpdateProcessor.DistribPhase distribPhase)
-
-
Method Details
-
processAdd
- Overrides:
processAddin classUpdateRequestProcessor- Throws:
IOException
-
processDelete
- Overrides:
processDeletein classUpdateRequestProcessor- Throws:
IOException
-
processMergeIndexes
- Overrides:
processMergeIndexesin classUpdateRequestProcessor- Throws:
IOException
-
processCommit
- Overrides:
processCommitin classUpdateRequestProcessor- Throws:
IOException
-
processRollback
- Overrides:
processRollbackin classUpdateRequestProcessor- Throws:
IOException
-
finish
- Overrides:
finishin classUpdateRequestProcessor- Throws:
IOException
-