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
