Package com.linkedin.venice.pushmonitor
Class PartitionStatusBasedPushMonitor
- java.lang.Object
-
- com.linkedin.venice.pushmonitor.AbstractPushMonitor
-
- com.linkedin.venice.pushmonitor.PartitionStatusBasedPushMonitor
-
- All Implemented Interfaces:
RoutingDataRepository.RoutingDataChangedListener
,PartitionStatusListener
,PushMonitor
public class PartitionStatusBasedPushMonitor extends AbstractPushMonitor
An implementation ofAbstractPushMonitor
that listens to ZKPartitionStatus
to determine the push status.
-
-
Field Summary
-
Fields inherited from class com.linkedin.venice.pushmonitor.AbstractPushMonitor
MAX_PUSH_TO_KEEP
-
-
Constructor Summary
Constructors Constructor Description PartitionStatusBasedPushMonitor(java.lang.String clusterName, OfflinePushAccessor offlinePushAccessor, StoreCleaner storeCleaner, ReadWriteStoreRepository metadataRepository, RoutingDataRepository routingDataRepository, AggPushHealthStats aggPushHealthStats, RealTimeTopicSwitcher realTimeTopicSwitcher, ClusterLockManager clusterLockManager, java.lang.String aggregateRealTimeSourceKafkaUrl, java.util.List<java.lang.String> activeActiveRealTimeSourceKafkaURLs, HelixAdminClient helixAdminClient, VeniceControllerClusterConfig controllerConfig, PushStatusStoreReader pushStatusStoreReader, DisabledPartitionStats disabledPartitionStats)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ExecutionStatusWithDetails
checkPushStatus(OfflinePushStatus pushStatus, PartitionAssignment partitionAssignment, DisableReplicaCallback callback)
Checking push status based on Venice offlinePush statusjava.util.List<Instance>
getReadyToServeInstances(PartitionAssignment partitionAssignment, int partitionId)
void
onPartitionStatusChange(OfflinePushStatus offlinePushStatus)
-
Methods inherited from class com.linkedin.venice.pushmonitor.AbstractPushMonitor
checkWhetherToStartBufferReplayForHybrid, cleanupStoreStatus, getDisableReplicaCallback, getDurationInSec, getIncrementalPushStatusAndDetails, getIncrementalPushStatusFromPushStatusStore, getOfflinePush, getOfflinePushAccessor, getOfflinePushOrThrow, getOfflinePushStatusForStore, getOngoingIncrementalPushVersions, getOngoingIncrementalPushVersions, getPushStatus, getPushStatusAndDetails, getReadWriteStoreRepository, getRealTimeTopicSwitcher, getRoutingDataRepository, getTopicsOfOngoingOfflinePushes, getUncompletedPartitions, handleCompletedPush, handleErrorPush, handleTerminalOfflinePushUpdate, isOfflinePushMonitorDaVinciPushStatusEnabled, loadAllPushes, markOfflinePushAsError, onCustomizedViewAdded, onCustomizedViewChange, onExternalViewChange, onPartitionStatusChange, onRoutingDataDeleted, recordPushPreparationDuration, refreshAndUpdatePushStatus, retireOldErrorPushes, setRealTimeTopicSwitcher, startMonitorOfflinePush, stopAllMonitoring, stopMonitorOfflinePush, updateOfflinePush, updatePushStatus
-
-
-
-
Constructor Detail
-
PartitionStatusBasedPushMonitor
public PartitionStatusBasedPushMonitor(java.lang.String clusterName, OfflinePushAccessor offlinePushAccessor, StoreCleaner storeCleaner, ReadWriteStoreRepository metadataRepository, RoutingDataRepository routingDataRepository, AggPushHealthStats aggPushHealthStats, RealTimeTopicSwitcher realTimeTopicSwitcher, ClusterLockManager clusterLockManager, java.lang.String aggregateRealTimeSourceKafkaUrl, java.util.List<java.lang.String> activeActiveRealTimeSourceKafkaURLs, HelixAdminClient helixAdminClient, VeniceControllerClusterConfig controllerConfig, PushStatusStoreReader pushStatusStoreReader, DisabledPartitionStats disabledPartitionStats)
-
-
Method Detail
-
onPartitionStatusChange
public void onPartitionStatusChange(OfflinePushStatus offlinePushStatus)
- Overrides:
onPartitionStatusChange
in classAbstractPushMonitor
-
checkPushStatus
protected ExecutionStatusWithDetails checkPushStatus(OfflinePushStatus pushStatus, PartitionAssignment partitionAssignment, DisableReplicaCallback callback)
Checking push status based on Venice offlinePush status- Specified by:
checkPushStatus
in classAbstractPushMonitor
-
getReadyToServeInstances
public java.util.List<Instance> getReadyToServeInstances(PartitionAssignment partitionAssignment, int partitionId)
- Specified by:
getReadyToServeInstances
in interfacePushMonitor
- Specified by:
getReadyToServeInstances
in classAbstractPushMonitor
-
-