Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Update KIP to match what was merged.

...

Table of Contents

Status

Current state: Under Discussion Adopted

Discussion thread: here

JIRA:

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-5135

...

value: the state the controller is in, i.e. the event that is currently being processed. Some actions like partition reassignment may take a while and include many events (potentially interleaved with other events), but that doesn't change the fact that at most one event is processed at a time.

Valid states (events comprising that state in brackets):

0 - idle
1 - starting controller change (Startup, ControllerChange, Reelect)
2 - resigning
3 - broker change (BrokerChange)
4 3 - topic creation
5 /change (TopicChange, PartitionModifications)
4 - topic deletion (TopicDeletion, TopicDeletionStopReplicaResult)
6 5 - partition reassigning
7 reassignment (PartitionReassignment,
PartitionReassignmentIsrChange)
6 - auto leader balancing
8 balance (AutoPreferredReplicaLeaderElection)
7 - manual leader balancing
9 balance (PreferredReplicaLeaderElection)
8 - controlled shutdown (ControlledShutdown)
9 - isr change (IsrChangeNotification)

For each state, there's a timer with the rate and time with 2 exceptions: BrokerChange (currently tracked as LeaderElectionRateAndTimeMs) and ControlledShutdown (tracked via RequestQueueTimeMs for the the ControlledShutdown request).

(1). kafka.controller:type=ControllerStats,name=ControllerStartRateAndTimeMsControllerChangeRateAndTimeMs
type: timer
value: rate and latency for the controller to startchange state

(32). kafka.controller:type=ControllerStats,name=ControllerResignRateAndTimeMsTopicChangeRateAndTimeMs

type: timer
value: rate and latency for the controller to resigncreate new topics

(43). kafka.controller:type=ControllerStats,name=TopicCreationRateAndTimeMsTopicDeletionRateAndTimeMs
type: timer
value: rate and latency for the controller to create new delete topics

(54). kafka.controller:type=ControllerStats,name=TopicDeletionRateAndTimeMsPartitionReassignmentRateAndTimeMs
type: timer
value: rate and latency for the controller to delete topicsreassign partitions

(65). kafka.controller:type=ControllerStats,name=PartitionReassigningRateAndTimeMsAutoLeaderBalanceRateAndTimeMs
type: timer
value: rate and latency for the controller to reassign partitionsauto balance the leaders

(76). kafka.controller:type=ControllerStats,name=AutoLeaderBalancingRateAndTimeMsManualLeaderBalanceRateAndTimeMs
type: timer
value: rate and latency for the controller to auto manually balance the leaders

(87) kafka. kafka.controller:type=ControllerStats,name=ManualLeaderBalancingRateAndTimeMsIsrChangeRateAndTimeMs

type: timer
value: rate and latency for the controller to manually balance the leaders

...