Class PushStatusStoreWriter

java.lang.Object
com.linkedin.venice.pushstatushelper.PushStatusStoreWriter
All Implemented Interfaces:
AutoCloseable

public class PushStatusStoreWriter extends Object implements AutoCloseable
PushStatusStoreWriter is a helper class for Da Vinci to write PushStatus and heartbeat message into PushStatus store real-time topic. Heartbeat update is a normal Venice write. PushStatus update is via a map-merge of Write-Compute.
  • Constructor Details

  • Method Details

    • writeHeartbeat

      public void writeHeartbeat(String storeName)
    • writeHeartbeatForBootstrappingInstance

      public void writeHeartbeatForBootstrappingInstance(String storeName)
      This function will write `-1` to indicate the node is bootstrapping and Controller should ignore all the reports from this instance.
      Parameters:
      storeName -
    • writeHeartbeat

      public void writeHeartbeat(String storeName, long heartbeat)
    • writePushStatus

      public void writePushStatus(String storeName, int version, int partitionId, ExecutionStatus status, Optional<String> incrementalPushVersion)
    • writePushStatus

      public void writePushStatus(String storeName, int version, int partitionId, ExecutionStatus status, Optional<String> incrementalPushVersion, Optional<String> incrementalPushPrefix)
    • writeVersionLevelPushStatus

      public void writeVersionLevelPushStatus(String storeName, int version, ExecutionStatus status, Set<Integer> partitionIds, Optional<String> incrementalPushVersion)
      This only works for "batch push" status update. Write one single push status for all partitions on this node, which assumes that all partitions are on the same state. The key only contains version number.
    • addToSupposedlyOngoingIncrementalPushVersions

      public void addToSupposedlyOngoingIncrementalPushVersions(String storeName, int storeVersion, String incrementalPushVersion, ExecutionStatus status)
    • removeFromSupposedlyOngoingIncrementalPushVersions

      public void removeFromSupposedlyOngoingIncrementalPushVersions(String storeName, int storeVersion, String incrementalPushVersion)
    • deletePushStatus

      public void deletePushStatus(String storeName, int version, Optional<String> incrementalPushVersion, int partitionCount)
    • deletePartitionIncrementalPushStatus

      public Future<PubSubProduceResult> deletePartitionIncrementalPushStatus(String storeName, int version, String incrementalPushVersion, int partitionId)
      N.B.: Currently used by tests only.
      Returns:
    • removePushStatusStoreVeniceWriter

      public void removePushStatusStoreVeniceWriter(String storeName)
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable