allPartitions: Set[TopicPartition]
ControllerContext
ControllerContext is the context of an active KafkaController (and is created right when KafkaController is created).
ControllerContext takes no input arguments to be created.
allPartitions Method
allPartitions converts the partitionReplicaAssignmentUnderlying into TopicPartitions, i.e. allPartitions takes the partitions for the topics and simply creates new TopicPartitions.
|
Note
|
|
updatePartitionReplicaAssignment Method
updatePartitionReplicaAssignment(topicPartition: TopicPartition, newReplicas: Seq[Int]): Unit
updatePartitionReplicaAssignment simply updates the partitionReplicaAssignmentUnderlying registry with newReplicas for the topic and the partition (of a given TopicPartition).
|
Note
|
|
partitionsOnBroker Method
partitionsOnBroker(brokerId: Int): Set[TopicPartition]
partitionsOnBroker…FIXME
|
Note
|
partitionsOnBroker is used when…FIXME
|
replicasOnBrokers Method
replicasOnBrokers(
brokerIds: Set[Int]): Set[PartitionAndReplica]
replicasOnBrokers…FIXME
|
Note
|
replicasOnBrokers is used when…FIXME
|
replicasForTopic Method
replicasForTopic(topic: String): Set[PartitionAndReplica]
replicasForTopic…FIXME
|
Note
|
replicasForTopic is used when…FIXME
|
partitionsForTopic Method
partitionsForTopic(topic: String): collection.Set[TopicPartition]
partitionsForTopic…FIXME
|
Note
|
partitionsForTopic is used when…FIXME
|
removeTopic Method
removeTopic(topic: String): Unit
removeTopic…FIXME
|
Note
|
removeTopic is used when…FIXME
|
isReplicaOnline Method
isReplicaOnline(
brokerId: Int,
topicPartition: TopicPartition,
includeShuttingDownBrokers: Boolean = false): Boolean
isReplicaOnline…FIXME
|
Note
|
isReplicaOnline is used when…FIXME
|
allLiveReplicas Method
allLiveReplicas(): Set[PartitionAndReplica]
allLiveReplicas…FIXME
|
Note
|
allLiveReplicas is used when…FIXME
|
onlineAndOfflineReplicas Method
onlineAndOfflineReplicas: (Set[PartitionAndReplica], Set[PartitionAndReplica])
onlineAndOfflineReplicas…FIXME
|
Note
|
onlineAndOfflineReplicas is used exclusively when ReplicaStateMachine is requested to start up.
|
addLiveBrokersAndEpochs Method
addLiveBrokersAndEpochs(
brokerAndEpochs: Map[Broker, Long]): Unit
addLiveBrokersAndEpochs…FIXME
|
Note
|
addLiveBrokersAndEpochs is used when…FIXME
|
removeLiveBrokers Method
removeLiveBrokers(
brokerIds: Set[Int]): Unit
removeLiveBrokers…FIXME
|
Note
|
removeLiveBrokers is used when…FIXME
|
partitionReplicaAssignment Method
partitionReplicaAssignment(
topicPartition: TopicPartition): Seq[Int]
partitionReplicaAssignment finds the brokers with the replicas of the given partition (aka partition replica assignment).
Internally, partitionReplicaAssignment finds broker IDs of the replicas of the given partition (TopicPartition) in the partitionAssignments internal registry.
partitionReplicaAssignment returns an empty collection when no topic or partition are found.
|
Note
|
partitionReplicaAssignment is used when…FIXME
|
putReplicaStateIfNotExists Method
putReplicaStateIfNotExists(
replica: PartitionAndReplica,
state: ReplicaState): Unit
putReplicaStateIfNotExists simply adds the replica to the replicaStates internal registry unless available already.
|
Note
|
putReplicaStateIfNotExists is used exclusively when ZkReplicaStateMachine is requested to handle state changes of partition replicas.
|
checkValidReplicaStateChange Method
checkValidReplicaStateChange(
replicas: Seq[PartitionAndReplica],
targetState: ReplicaState
): (Seq[PartitionAndReplica], Seq[PartitionAndReplica])
For every replica (in the given replicas), checkValidReplicaStateChange isValidReplicaStateTransition with the target state (ReplicaState).
|
Note
|
checkValidReplicaStateChange is used exclusively when ZkReplicaStateMachine is requested to handle replica state changes.
|
checkValidPartitionStateChange Method
checkValidPartitionStateChange(
partitions: Seq[TopicPartition],
targetState: PartitionState
): (Seq[TopicPartition], Seq[TopicPartition])
For every replica (in the given replicas), checkValidPartitionStateChange isValidPartitionStateTransition with the target state (PartitionState).
|
Note
|
checkValidPartitionStateChange is used exclusively when ZkReplicaStateMachine is requested to handle partition state changes.
|
putPartitionStateIfNotExists Method
putPartitionStateIfNotExists(
partition: TopicPartition,
state: PartitionState): Unit
putPartitionStateIfNotExists…FIXME
|
Note
|
putPartitionStateIfNotExists is used when…FIXME
|
isValidReplicaStateTransition Internal Method
isValidReplicaStateTransition(
replica: PartitionAndReplica,
targetState: ReplicaState): Boolean
isValidReplicaStateTransition…FIXME
|
Note
|
isValidReplicaStateTransition is used when…FIXME
|
isValidPartitionStateTransition Internal Method
isValidPartitionStateTransition(
partition: TopicPartition,
targetState: PartitionState): Boolean
isValidPartitionStateTransition…FIXME
|
Note
|
isValidPartitionStateTransition is used when…FIXME
|
putPartitionState Method
putPartitionState(
partition: TopicPartition,
targetState: PartitionState): Unit
putPartitionState…FIXME
|
Note
|
putPartitionState is used when…FIXME
|
Finding Partitions by Given States — partitionsInStates Method
partitionsInStates(
states: Set[PartitionState]): Set[TopicPartition]
partitionsInStates(
topic: String, states: Set[PartitionState]): Set[TopicPartition]
partitionsInStates uses the partitionStates internal registry to find all of the TopicPartitions (of the topic if defined) in the given PartitionStates.
|
Note
|
partitionsInStates is used when PartitionStateMachine is requested to triggerOnlinePartitionStateChange.
|
Internal Properties
| Name | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The timer metric name pattern is kafka.controller:type=ControllerStats,name=. |
|
|
|
|
|