[ 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 KRaft 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 metadata 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. The code that calls the handler should be fixed to pass "<default>" instead of empty string if using KRaft. was: 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 KRaft 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 metadata 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 code that calls the handler should be fixed to pass "<default>" instead of empty string 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 KRaft 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 metadata 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. The code that > calls the handler should be fixed to pass "<default>" instead of empty string > if using KRaft. -- This message was sent by Atlassian Jira (v8.3.4#803005)