Class PushStatusStoreWriter
java.lang.Object
com.linkedin.venice.pushstatushelper.PushStatusStoreWriter
- All Implemented Interfaces:
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 Summary
ConstructorDescriptionPushStatusStoreWriter
(VeniceWriterFactory writerFactory, String instanceName, SchemaEntry valueSchemaEntry, DerivedSchemaEntry updateSchemaEntry) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addToSupposedlyOngoingIncrementalPushVersions
(String storeName, int storeVersion, String incrementalPushVersion, ExecutionStatus status) void
close()
deletePartitionIncrementalPushStatus
(String storeName, int version, String incrementalPushVersion, int partitionId) N.B.: Currently used by tests only.void
deletePushStatus
(String storeName, int version, Optional<String> incrementalPushVersion, int partitionCount) void
removeFromSupposedlyOngoingIncrementalPushVersions
(String storeName, int storeVersion, String incrementalPushVersion) void
removePushStatusStoreVeniceWriter
(String storeName) void
writeHeartbeat
(String storeName) void
writeHeartbeat
(String storeName, long heartbeat) 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.void
writePushStatus
(String storeName, int version, int partitionId, ExecutionStatus status, Optional<String> incrementalPushVersion) void
writePushStatus
(String storeName, int version, int partitionId, ExecutionStatus status, Optional<String> incrementalPushVersion, Optional<String> incrementalPushPrefix) void
writeVersionLevelPushStatus
(String storeName, int version, ExecutionStatus status, Set<Integer> partitionIds, Optional<String> incrementalPushVersion) This only works for "batch push" status update.
-
Constructor Details
-
PushStatusStoreWriter
public PushStatusStoreWriter(VeniceWriterFactory writerFactory, String instanceName, SchemaEntry valueSchemaEntry, DerivedSchemaEntry updateSchemaEntry)
-
-
Method Details
-
writeHeartbeat
-
writeHeartbeatForBootstrappingInstance
This function will write `-1` to indicate the node is bootstrapping and Controller should ignore all the reports from this instance.- Parameters:
storeName
-
-
writeHeartbeat
-
writePushStatus
public void writePushStatus(String storeName, int version, int partitionId, ExecutionStatus status, Optional<String> incrementalPushVersion) -
writePushStatus
-
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
-
deletePushStatus
-
deletePartitionIncrementalPushStatus
public Future<PubSubProduceResult> deletePartitionIncrementalPushStatus(String storeName, int version, String incrementalPushVersion, int partitionId) N.B.: Currently used by tests only.- Returns:
-
removePushStatusStoreVeniceWriter
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
-