Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The behavior of which nodes expose controller metrics will be different in KRaft clusters than the behavior when using Kafka with Zookeeper. KRaft nodes will only expose the controller metrics if the node is a "controller" process.  If a KRaft node is a "controller" process but is not the active controller it will expose 0 for all controller metrics since the process is eligible to become the active controller. This is consistent with behavior for controller-eligible nodes in a Kafka cluster using Zookeeper.

Proposed Changes

Pre-Kraft brokers expose 0 for controller metrics unless they are the active controller. KRaft brokers should not since they are not controller eligible.

...

  • Certain tools that expect brokers to expose controller metrics may need to be extended for KRaft to no longer expect brokers to expose controller metrics.If
  • a KRaft node is a "controller" process but is not the active controller it will expose 0 for all controller metrics since the process is eligible to become the active controller. This is consistent with behavior for controller-eligible nodes in a Kafka cluster using ZookeeperIn Kafka 3.0, standby controllers expose non-zero controller metrics. This KIP proposes changing this behavior since KRaft is still in preview.

Rejected Alternatives

  • Expose 0 on KRaft brokers for controller metrics.
    • There is non-negligible performance impact associated with doing this, so it would be best to change the behavior of controller metrics moving forward instead.

...