Package com.linkedin.venice.controller
Class TerminalStateTopicCheckerForParentController
java.lang.Object
com.linkedin.venice.controller.TerminalStateTopicCheckerForParentController
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Runnable
public class TerminalStateTopicCheckerForParentController
extends Object
implements Runnable, Closeable
A task that periodically polls the job state for existing version topics in the parent fabric. This is to make sure
topics in the parent fabric are cleaned up in a timely manner once they reach terminal states in all child fabrics.
This is to prevent out-of-order issue when compaction is enabled and MM rewind old messages from parent to child
fabrics during restart. Topic cleanup is part of job status polling because it's only safe to delete the VT in parent
fabric once the job reaches terminal state in all child fabrics.
-
Constructor Summary
ConstructorDescriptionTerminalStateTopicCheckerForParentController
(VeniceParentHelixAdmin parentController, HelixReadOnlyStoreConfigRepository storeConfigRepository, long checkDelayInMs) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
CausesTerminalStateTopicCheckerForParentController
task to stop executing.void
run()
-
Constructor Details
-
TerminalStateTopicCheckerForParentController
public TerminalStateTopicCheckerForParentController(VeniceParentHelixAdmin parentController, HelixReadOnlyStoreConfigRepository storeConfigRepository, long checkDelayInMs)
-
-
Method Details
-
close
public void close()CausesTerminalStateTopicCheckerForParentController
task to stop executing.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
run
public void run()
-