@ThreadSafe public class BrokerAdditionContextContainer extends Object
Constructor and Description |
---|
BrokerAdditionContextContainer(BrokerAdditionV1Context additionV1Context,
BrokerAdditionV2StateManager additionV2StateManager,
boolean incrementalBalancingEnabled,
boolean v2AdditionEnabled) |
Modifier and Type | Method and Description |
---|---|
List<kafka.common.BrokerAdditionDescriptionInternal> |
brokerAdditionsNewerThan(long cutOffTimeMs) |
BrokerAdditionV2StateManager |
brokerAdditionV2StateManager() |
Set<Integer> |
brokersBeingAdded()
Return the set of broker IDs being added to the cluster.
|
MultiBrokerAdditionOperation |
initializeV1BrokerAddition(Set<Integer> brokersToAdd)
Initializes the state for a v1 broker addition operation for the given brokers.
|
Set<Integer> |
initializeV2BrokerAddition(Set<Integer> brokersToAdd)
Initializes the state for a v2 broker addition operation for the given brokers.
|
void |
initializeV2BrokerAdditionStateManager(ApiStatePersistenceStore apiStatePersistenceStore)
Initializes the state for a v2 broker addition operation.
|
boolean |
isV2AdditionEnabled()
Returns a boolean indicating whether the v2 broker addition operation is enabled.
|
void |
overrideAllPendingBrokerAdditions(BrokerAdditionStateMachine.AdditionEvent event,
String cause)
Override all of the pending broker addition operations due to the given
BrokerAdditionStateMachine.BrokerAdditionEvent . |
public BrokerAdditionContextContainer(BrokerAdditionV1Context additionV1Context, BrokerAdditionV2StateManager additionV2StateManager, boolean incrementalBalancingEnabled, boolean v2AdditionEnabled)
additionV1Context
- the context object for v1 broker addition operations.additionV2StateManager
- the state manager for v2 broker addition operations.incrementalBalancingEnabled
- a boolean denoting whether SBC is configured to run in incremental balancing mode.v2AdditionEnabled
- Sets whether the v2 broker addition operation is enabled. Note that addition v2 works only when incremental balancing is enabled, but is also controlled through this flag.public boolean isV2AdditionEnabled()
public MultiBrokerAdditionOperation initializeV1BrokerAddition(Set<Integer> brokersToAdd)
brokersToAdd
- the brokers to be added.public Set<Integer> initializeV2BrokerAddition(Set<Integer> brokersToAdd) throws InterruptedException
brokersToAdd
- the brokers to be added.InterruptedException
public void initializeV2BrokerAdditionStateManager(ApiStatePersistenceStore apiStatePersistenceStore)
apiStatePersistenceStore
- persistence store containing all broker addition operations persisted in past.public void overrideAllPendingBrokerAdditions(BrokerAdditionStateMachine.AdditionEvent event, String cause)
BrokerAdditionStateMachine.BrokerAdditionEvent
.public Set<Integer> brokersBeingAdded()
public List<kafka.common.BrokerAdditionDescriptionInternal> brokerAdditionsNewerThan(long cutOffTimeMs)
cutOffTimeMs
- the unix time milliseconds before which any events should not be returnedpublic BrokerAdditionV2StateManager brokerAdditionV2StateManager()