Class MultiTaskSchedulerService
java.lang.Object
com.linkedin.venice.service.AbstractVeniceService
com.linkedin.venice.controller.multitaskscheduler.MultiTaskSchedulerService
- All Implemented Interfaces:
Closeable
,AutoCloseable
This service functions as an interface for scheduling various kind of tasks by loading multiple different task managers.
Each task manager is assigned a java executor to enable scheduling and executing tasks in parallel.
The life cycle of this service matches the life cycle of
HelixVeniceClusterResources
, which means there is one
multitask scheduler service per cluster. The multitask scheduler service is built when the controller is promoted
to leader role for the cluster.
Currently, store migration manager is initialized and loaded inside within this service, it is responsible for managing
the store migration process, and it is the only task manager currently loaded into this service. For each service per
cluster, the store migration task is scheduled inside task scheduler service of the source cluster-
Nested Class Summary
Nested classes/interfaces inherited from class com.linkedin.venice.service.AbstractVeniceService
AbstractVeniceService.ServiceState
-
Field Summary
Fields inherited from class com.linkedin.venice.service.AbstractVeniceService
logger, serviceState
-
Constructor Summary
ConstructorsConstructorDescriptionMultiTaskSchedulerService
(int threadPoolSize, int maxRetryAttempts) Constructor to initialize the TaskSchedulerService with the task manager with pre-configured threadPoolSize and maxRetryAttempts. -
Method Summary
-
Constructor Details
-
MultiTaskSchedulerService
public MultiTaskSchedulerService(int threadPoolSize, int maxRetryAttempts) Constructor to initialize the TaskSchedulerService with the task manager with pre-configured threadPoolSize and maxRetryAttempts.- Parameters:
threadPoolSize
-maxRetryAttempts
-
-
-
Method Details
-
startInner
- Specified by:
startInner
in classAbstractVeniceService
- Returns:
- true if the service is completely started,
false if it is still starting asynchronously (in this case, it is the implementer's
responsibility to set
AbstractVeniceService.serviceState
toAbstractVeniceService.ServiceState.STARTED
upon completion of the async work). - Throws:
Exception
-
stopInner
- Specified by:
stopInner
in classAbstractVeniceService
- Throws:
Exception
-