org.apache.solr.update.processor

## Class CdcrUpdateProcessor

- java.lang.Object
- - org.apache.solr.update.processor.UpdateRequestProcessor
  - - org.apache.solr.update.processor.DistributedUpdateProcessor
    - - org.apache.solr.update.processor.CdcrUpdateProcessor

-     public class CdcrUpdateProcessor
      extends DistributedUpdateProcessor

  Extends `DistributedUpdateProcessor` to force peer sync logic for every updates. This ensures that the version parameter sent by the source cluster is kept by the target cluster.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.solr.update.processor.DistributedUpdateProcessor

      `DistributedUpdateProcessor.DistribPhase, DistributedUpdateProcessor.DistributedUpdatesAsyncException, DistributedUpdateProcessor.RequestReplicationTracker`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `CDCR_UPDATE`

    - ### Fields inherited from class org.apache.solr.update.processor.DistributedUpdateProcessor

      `COMMIT_END_POINT, DISTRIB_FROM, DISTRIB_FROM_COLLECTION, DISTRIB_FROM_PARENT, DISTRIB_FROM_SHARD, LOG_REPLAY, VERSION_FIELD`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CdcrUpdateProcessor(SolrQueryRequest req, SolrQueryResponse rsp, UpdateRequestProcessor next)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected ModifiableSolrParams` | `filterParams(SolrParams params)`
    `protected boolean` | `versionAdd(AddUpdateCommand cmd)`
    `protected boolean` | `versionDelete(DeleteUpdateCommand cmd)`
    `protected void` | `versionDeleteByQuery(DeleteUpdateCommand cmd)`

    - ### Methods inherited from class org.apache.solr.update.processor.DistributedUpdateProcessor

      `doDeleteByQuery, finish, getNonZkLeaderAssumption, processAdd, processCommit, processDelete`

    - ### Methods inherited from class org.apache.solr.update.processor.UpdateRequestProcessor

      `processMergeIndexes, processRollback`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### CDCR_UPDATE

          public static final String CDCR_UPDATE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CdcrUpdateProcessor

          public CdcrUpdateProcessor(SolrQueryRequest req,
                                     SolrQueryResponse rsp,
                                     UpdateRequestProcessor next)

  - ### Method Detail

    - #### versionAdd

          protected boolean versionAdd(AddUpdateCommand cmd)
                                throws IOException

      Overrides:
        `versionAdd` in class `DistributedUpdateProcessor`
      Returns:
        whether or not to drop this cmd
      Throws:
        `IOException` - If there is a low-level I/O error.

    - #### versionDelete

          protected boolean versionDelete(DeleteUpdateCommand cmd)
                                   throws IOException

      Overrides:
        `versionDelete` in class `DistributedUpdateProcessor`
      Throws:
        `IOException`

    - #### filterParams

          protected ModifiableSolrParams filterParams(SolrParams params)

      Overrides:
        `filterParams` in class `DistributedUpdateProcessor`
      See Also:
        `DistributedUpdateProcessorFactory.addParamToDistributedRequestWhitelist(org.apache.solr.request.SolrQueryRequest, java.lang.String...)`

    - #### versionDeleteByQuery

          protected void versionDeleteByQuery(DeleteUpdateCommand cmd)
                                       throws IOException

      Overrides:
        `versionDeleteByQuery` in class `DistributedUpdateProcessor`
      Throws:
        `IOException`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.