Interface ConfigurationChangeCoordinator
- All Known Implementing Classes:
ConfigurationChangeCoordinatorImpl
public interface ConfigurationChangeCoordinator
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfacestatic final record -
Method Summary
Modifier and TypeMethodDescriptionapplyOperations(ConfigurationChangeCoordinator.ConfigurationChangeRequest requestTransformer) Applies the operations generated by the requestTransformer to the current cluster configuration.cancelChange(long changeId) Cancels a configuration change.simulateOperations(ConfigurationChangeCoordinator.ConfigurationChangeRequest requestTransformer) Simulates the operations generated by the request transformer on the current cluster configuration.
-
Method Details
-
getClusterConfiguration
ActorFuture<ClusterConfiguration> getClusterConfiguration()- Returns:
- the current cluster configuration.
-
applyOperations
ActorFuture<ConfigurationChangeCoordinator.ConfigurationChangeResult> applyOperations(ConfigurationChangeCoordinator.ConfigurationChangeRequest requestTransformer) Applies the operations generated by the requestTransformer to the current cluster configuration. If no operations is returned by requestTransformer, the future completes successfully with no change to the cluster configuration.- Parameters:
requestTransformer- the request transformer that generates the operations to apply- Returns:
- a future which is completed when the configuration change has started successfully.
-
simulateOperations
ActorFuture<ConfigurationChangeCoordinator.ConfigurationChangeResult> simulateOperations(ConfigurationChangeCoordinator.ConfigurationChangeRequest requestTransformer) Simulates the operations generated by the request transformer on the current cluster configuration. Operations are not applied and the current cluster configuration remains unchanged.- Parameters:
requestTransformer- the request transformer that generates the operations to simulate- Returns:
- a future which is completed with the results of the simulation or an exception describing why the operations are not valid.
-
cancelChange
Cancels a configuration change. This is an unsafe operation and should be called only when the operation is stuck and cannot make progress on its own. When a change is cancelled, already applied operations are not reverted. So the ClusterConfiguration will be in an intermediate state with partially applied operations.- Parameters:
changeId- the id of the change to cancel- Returns:
- a future which is completed when the change has been cancelled successfully.
-