Package com.linkedin.davinci.helix
Class LeaderFollowerPartitionStateModelFactory
java.lang.Object
org.apache.helix.participant.statemachine.StateModelFactory<org.apache.helix.participant.statemachine.StateModel>
com.linkedin.davinci.helix.AbstractStateModelFactory
com.linkedin.davinci.helix.LeaderFollowerPartitionStateModelFactory
- Direct Known Subclasses:
LeaderFollowerPartitionStateModelDualPoolFactory
State Transition Handler factory for handling Leader/Follower resources in the storage node.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
The leader follower state thread pool strategy specifies how thread pools are allocated for Helix state transition.Nested classes/interfaces inherited from class org.apache.helix.participant.statemachine.StateModelFactory
org.apache.helix.participant.statemachine.StateModelFactory.CustomizedExecutorService
-
Field Summary
Fields inherited from class com.linkedin.davinci.helix.AbstractStateModelFactory
executorService, instanceName, logger, partitionPushStatusAccessorFuture, stateTransitionStats, storeMetadataRepo
-
Constructor Summary
ConstructorDescriptionLeaderFollowerPartitionStateModelFactory
(IngestionBackend ingestionBackend, VeniceConfigLoader configService, ExecutorService executorService, ParticipantStateTransitionStats stateTransitionStats, ReadOnlyStoreRepository metadataRepo, CompletableFuture<HelixPartitionStatusAccessor> partitionPushStatusAccessorFuture, String instanceName, HeartbeatMonitoringService heartbeatMonitoringService) -
Method Summary
Modifier and TypeMethodDescriptioncreateNewStateModel
(String resourceName, String partitionName) This method will be invoked only once per partition per sessionMethods inherited from class com.linkedin.davinci.helix.AbstractStateModelFactory
getConfigService, getExecutorService, getIngestionBackend, getStateModelID, getStateTransitionStats, getStoreMetadataRepo, shutDownExecutor, waitExecutorTermination
Methods inherited from class org.apache.helix.participant.statemachine.StateModelFactory
createAndAddBatchMessageWrapper, createAndAddStateModel, createAndAddStateModel, createBatchMessageWrapper, createNewStateModel, getBatchMessageWrapper, getExecutorService, getExecutorService, getPartitionSet, getPartitionSet, getResourceSet, getStateModel, getStateModel, removeStateModel, removeStateModel
-
Constructor Details
-
LeaderFollowerPartitionStateModelFactory
public LeaderFollowerPartitionStateModelFactory(IngestionBackend ingestionBackend, VeniceConfigLoader configService, ExecutorService executorService, ParticipantStateTransitionStats stateTransitionStats, ReadOnlyStoreRepository metadataRepo, CompletableFuture<HelixPartitionStatusAccessor> partitionPushStatusAccessorFuture, String instanceName, HeartbeatMonitoringService heartbeatMonitoringService)
-
-
Method Details
-
createNewStateModel
public LeaderFollowerPartitionStateModel createNewStateModel(String resourceName, String partitionName) Description copied from class:AbstractStateModelFactory
This method will be invoked only once per partition per session- Specified by:
createNewStateModel
in classAbstractStateModelFactory
- Parameters:
resourceName
- $(topic_name) where state transition is happeningpartitionName
- $(topic_name)_$(partition) for which the State Transition Handler is required- Returns:
- VenicePartitionStateModel for the partition.
-