Who manages ISR in Kafka?

Viewed 94

I understand Kafka has the ISR mechanism to manage leader-follower data replication, but I'm just wondering who exactly updates the ISR?

enter image description here

1 Answers

For each partition, the current leader tracks and manages the current in-sync replicas. Followers send Fetch requests to the leader to retrieve records. That enables the leader to keep track where each follower is and determine which ones are in-sync.

Before Kafka 2.7, each leader would update its partition state znode in ZooKeeper. Now (with KIP-497) when the in-sync replicas change, leaders send an AlterISR request to the controller and it's the controller that is responsible for updating ZooKeeper.

Related