[ https://issues.apache.org/jira/browse/KAFKA-13160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ryan Dielhenn updated KAFKA-13160: ---------------------------------- Description: In a ZK cluster, dynamic default broker configs are stored in the zNode /brokers/<default>. Without this fix, when dynamic configs from snapshots are processed by the brokers in KRaft, the BrokerConfigHandler checks if the resource name is "<default>" to do a default update and converts the resource name to an integer otherwise to do a per-broker config update. In KRaft dynamic default broker configs are serialized in the quorum with empty string instead of "<default>". This was causing the BrokerConfigHandler to throw a NumberFormatException for dynamic default broker configs since the resource name for them is not "<default>" or a single integer. This handler should be fixed to expect empty string as the resource name for the dynamic default broker configs if using KRaft. (was: In a ZK cluster, dynamic default broker configs are stored in the zNode /brokers/<default>. When dynamic configs from snapshots are processed by the brokers, the BrokerConfigHandler checks if the resource name is "<default>" to do a default update and converts the resource name to an integer otherwise to do a per-broker config update. In KRaft dynamic default broker configs are serialized in the quorum with empty string instead of "<default>". This was causing the BrokerConfigHandler to throw a NumberFormatException for dynamic default broker configs since the resource name for them is not "<default>" or a single integer. This handler should be fixed to expect empty string as the resource name for the dynamic default broker configs if using KRaft.) > Fix BrokerConfigHandler to expect empty string as the resource name for > dynamic default broker configs in KRaft > --------------------------------------------------------------------------------------------------------------- > > Key: KAFKA-13160 > URL: https://issues.apache.org/jira/browse/KAFKA-13160 > Project: Kafka > Issue Type: Bug > Affects Versions: 3.0.0 > Reporter: Ryan Dielhenn > Assignee: Ryan Dielhenn > Priority: Blocker > Fix For: 3.0.0 > > > In a ZK cluster, dynamic default broker configs are stored in the zNode > /brokers/<default>. Without this fix, when dynamic configs from snapshots are > processed by the brokers in KRaft, the BrokerConfigHandler checks if the > resource name is "<default>" to do a default update and converts the resource > name to an integer otherwise to do a per-broker config update. In KRaft > dynamic default broker configs are serialized in the quorum with empty string > instead of "<default>". This was causing the BrokerConfigHandler to throw a > NumberFormatException for dynamic default broker configs since the resource > name for them is not "<default>" or a single integer. This handler should be > fixed to expect empty string as the resource name for the dynamic default > broker configs if using KRaft. -- This message was sent by Atlassian Jira (v8.3.4#803005)