Hi all,

While working on KAFKA-20199, I noticed that
NodeToControllerChannelManagerImpl
creates a Selector whose metrics are tagged with "BrokerId".

This component is used for node-to-controller communication in KRaft mode by
different process roles, including controller-only nodes. For
controller-only
nodes, using "BrokerId" is misleading because the process is not acting as a
broker.

The change I prototyped makes the metric tag role-aware:
- controller-only nodes use "NodeId"
- broker-only and combined-role nodes continue using "BrokerId"

This preserves the existing tag for brokers while avoiding broker-specific
metric tags on controller-only processes.

Since this changes exported metric tags, I wanted to ask for feedback before
proceeding further.

Questions for the community:
1. Does using "NodeId" for controller-only nodes make sense here?
2. Should this change go through a KIP given the public metrics impact?

JIRA: https://issues.apache.org/jira/browse/KAFKA-20199
PR: https://github.com/apache/kafka/pull/21718

Regards
Nilesh

Reply via email to