Details
-
Sub-task
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
0.8.0
-
None
Description
Once KAFKA-499 is checked in, every controller to broker communication can be modelled as a state change for one or more partitions. Every state change request will carry the controller epoch. If there is a problem with the state of some partitions, it will be good to have a tool that can create a timeline of requested and completed state changes. This will require each broker to output a state change log that has entries like
[2012-09-10 10:06:17,280] broker 1 received request LeaderAndIsr() for partition [foo, 0] from controller 2, epoch 1
[2012-09-10 10:06:17,350] broker 1 completed request LeaderAndIsr() for partition [foo, 0] from controller 2, epoch 1
On controller, this will look like -
[2012-09-10 10:06:17,198] controller 2, epoch 1, initiated state change request LeaderAndIsr() for partition [foo, 0]
We need a tool that can collect the state change log from all brokers and create a per-partition timeline of state changes -
[foo, 0]
[2012-09-10 10:06:17,198] controller 2, epoch 1 initiated state change request LeaderAndIsr()
[2012-09-10 10:06:17,280] broker 1 received request LeaderAndIsr() from controller 2, epoch 1
[2012-09-10 10:06:17,350] broker 1 completed request LeaderAndIsr() from controller 2, epoch 1
This JIRA involves adding the state change log to each broker and adding the tool to create the timeline