Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
None
-
None
-
None
Description
While setting up CDCR in solrconfig.xml at target cluster, we need to make default update processor chain with CdcrUpdateProcessorFactory like:
<updateRequestProcessorChain name="cdcr-processor-chain"> <processor class="solr.CdcrUpdateProcessorFactory"/> <processor class="solr.RunUpdateProcessorFactory"/> </updateRequestProcessorChain>
<requestHandler name="/update" class="solr.UpdateRequestHandler"> <lst name="defaults"> <str name="update.chain">cdcr-processor-chain</str> </lst> </requestHandler>
The motivation having a default update processor chain with no other but CdcrUpdateProcessorFactory is to NOT MODIFY already processed and transformed data at source. And it works perfectly.
In Bidirectional scenario, we need to set this default chain at both clusters, source & target. And while sending documents from application side; we need to EXPLICITLY SET update.chain with each batch at the primary/source cluster. This introduces an extra activity/effort at the application end.
It would be great if we can make Update Request Processors CDCR aware; i.e. skip and don't process the doc batches which are CDCR forwarded ones and treat the others as default.