Package org.apache.solr.update
Class PeerSyncWithLeader
- java.lang.Object
-
- org.apache.solr.update.PeerSyncWithLeader
-
- All Implemented Interfaces:
AutoCloseable
,SolrMetricProducer
public class PeerSyncWithLeader extends Object implements SolrMetricProducer
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PeerSyncWithLeader.MissedUpdatesFinder
Helper class for doing comparison ourUpdates and other replicas's updates to find the updates that we missed
-
Field Summary
Fields Modifier and Type Field Description static String
METRIC_SCOPE
-
Constructor Summary
Constructors Constructor Description PeerSyncWithLeader(SolrCore core, String leaderUrl, int nUpdates)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SolrMetricsContext
getSolrMetricsContext()
Implementations should return the context used inSolrMetricProducer.initializeMetrics(SolrMetricsContext, String)
to ensure proper cleanup of metrics at the end of the life-cycle of this component.void
initializeMetrics(SolrMetricsContext parentContext, String scope)
Initialize metrics specific to this producer.PeerSync.PeerSyncResult
sync(List<Long> startingVersions)
Sync with leader-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.metrics.SolrMetricProducer
close
-
-
-
-
Field Detail
-
METRIC_SCOPE
public static final String METRIC_SCOPE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getSolrMetricsContext
public SolrMetricsContext getSolrMetricsContext()
Description copied from interface:SolrMetricProducer
Implementations should return the context used inSolrMetricProducer.initializeMetrics(SolrMetricsContext, String)
to ensure proper cleanup of metrics at the end of the life-cycle of this component. This should be the child context if one was created, or null if the parent context was used.- Specified by:
getSolrMetricsContext
in interfaceSolrMetricProducer
-
initializeMetrics
public void initializeMetrics(SolrMetricsContext parentContext, String scope)
Description copied from interface:SolrMetricProducer
Initialize metrics specific to this producer.- Specified by:
initializeMetrics
in interfaceSolrMetricProducer
- Parameters:
parentContext
- parent metrics context. If this component has the same life-cycle as the parent it can simply use the parent context, otherwise it should obtain a child context usingSolrMetricsContext.getChildContext(Object)
passingthis
as the child object.scope
- component scope
-
sync
public PeerSync.PeerSyncResult sync(List<Long> startingVersions)
Sync with leader- Parameters:
startingVersions
- : recent versions on startup- Returns:
- result of PeerSync with leader
-
-