Class ReplicateFromLeader

java.lang.Object
org.apache.solr.cloud.ReplicateFromLeader

public class ReplicateFromLeader extends Object
  • Constructor Details

  • Method Details

    • startReplication

      public void startReplication(boolean switchTransactionLog)
      Start a replication handler thread that will periodically pull indices from the shard leader

      This is separate from the ReplicationHandler that listens at /replication, used for recovery and leader actions. It is simpler to discard the entire polling ReplicationHandler rather then worrying about disabling polling and correctly setting all of the leader bits if we need to reset.

      TODO: It may be cleaner to extract the polling logic use that directly instead of creating what might be a fairly heavyweight instance here.

      Parameters:
      switchTransactionLog - if true, ReplicationHandler will rotate the transaction log once the replication is done
    • getCommitVersion

      public static String getCommitVersion(SolrCore solrCore)
    • determinePollInterval

      public static String determinePollInterval(SolrConfig.UpdateHandlerInfo uinfo)
      Determine the poll interval for replicas based on the auto soft/hard commit schedule or configured commit poll interval
      Parameters:
      uinfo - the update handler info containing soft/hard commit configuration
      Returns:
      a poll interval string representing a cadence of polling frequency in the form of hh:mm:ss, never null
    • stopReplication

      public void stopReplication()