Package com.linkedin.venice.pushmonitor
Class PushStatusCollector
java.lang.Object
com.linkedin.venice.pushmonitor.PushStatusCollector
This class serves as a collector of offline push status for both Venice Server and Da Vinci clients.
It will try to aggregate push status from Server and Da Vinci and produce the final aggregated result.
If push status store is not enabled for the store, it will report directly upon receiving terminal server status,
otherwise it will record the server status and keep polling Da Vinci status to determine the aggregate status and will
only report if the aggregate status is terminal status.
-
Constructor Summary
ConstructorDescriptionPushStatusCollector
(ReadWriteStoreRepository storeRepository, PushStatusStoreReader pushStatusStoreReader, Consumer<String> pushCompletedHandler, BiConsumer<String, ExecutionStatusWithDetails> pushErrorHandler, boolean daVinciPushStatusScanEnabled, int daVinciPushStatusScanIntervalInSeconds, int daVinciPushStatusScanThreadNumber, int daVinciPushStatusNoReportRetryMaxAttempts, int daVinciPushStatusScanMaxOfflineInstanceCount, double daVinciPushStatusScanMaxOfflineInstanceRatio, boolean useDaVinciSpecificExecutionStatusForError) -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
void
handleServerPushStatusUpdate
(String topicName, ExecutionStatus executionStatus, String detailsString) void
start()
void
subscribeTopic
(String topicName, int partitionCount) void
unsubscribeTopic
(String topicName)
-
Constructor Details
-
PushStatusCollector
public PushStatusCollector(ReadWriteStoreRepository storeRepository, PushStatusStoreReader pushStatusStoreReader, Consumer<String> pushCompletedHandler, BiConsumer<String, ExecutionStatusWithDetails> pushErrorHandler, boolean daVinciPushStatusScanEnabled, int daVinciPushStatusScanIntervalInSeconds, int daVinciPushStatusScanThreadNumber, int daVinciPushStatusNoReportRetryMaxAttempts, int daVinciPushStatusScanMaxOfflineInstanceCount, double daVinciPushStatusScanMaxOfflineInstanceRatio, boolean useDaVinciSpecificExecutionStatusForError)
-
-
Method Details
-
start
public void start() -
subscribeTopic
-
unsubscribeTopic
-
handleServerPushStatusUpdate
public void handleServerPushStatusUpdate(String topicName, ExecutionStatus executionStatus, String detailsString) -
clear
public void clear()
-