[
https://issues.apache.org/jira/browse/KAFKA-9695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rajini Sivaram resolved KAFKA-9695.
-----------------------------------
Reviewer: Manikumar
Resolution: Fixed
Updated broker to throw InvalidRequestException for null config values in
CreateTopics, AlterConfigs and IncrementalAlterConfigs.
> AdminClient allows null topic configs, but broker throws NPE
> ------------------------------------------------------------
>
> Key: KAFKA-9695
> URL: https://issues.apache.org/jira/browse/KAFKA-9695
> Project: Kafka
> Issue Type: Bug
> Reporter: Rajini Sivaram
> Assignee: Rajini Sivaram
> Priority: Major
> Fix For: 2.6.0
>
>
> Config entries may contain null values, but broker's AdminManager throws NPE
> resulting in UnknownServerException. We should handle null values in configs.
> {code:java}
> [2020-03-10 21:56:07,904] ERROR [Admin Manager on Broker 0]: Error processing
> create topic request CreatableTopic(name='topic', numPartitions=2,
> replicationFactor=3, assignments=[],
> configs=[CreateableTopicConfig(name='message.format.version', value=null),
> CreateableTopicConfig(name='compression.type', value='producer')])
> (kafka.server.AdminManager:76)
> java.lang.NullPointerException
> at java.util.Hashtable.put(Hashtable.java:460)
> at java.util.Properties.setProperty(Properties.java:166)
> at
> kafka.server.AdminManager.$anonfun$createTopics$3(AdminManager.scala:99)
> at scala.collection.Iterator.foreach(Iterator.scala:941)
> at scala.collection.Iterator.foreach$(Iterator.scala:941)
> at scala.collection.AbstractIterator.foreach(Iterator.scala:1429)
> at scala.collection.IterableLike.foreach(IterableLike.scala:74)
> at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
> at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
> at
> kafka.server.AdminManager.$anonfun$createTopics$2(AdminManager.scala:98)
> at
> scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:238)
> at
> scala.collection.mutable.HashMap$$anon$2.$anonfun$foreach$3(HashMap.scala:158)
> at scala.collection.mutable.HashTable.foreachEntry(HashTable.scala:237)
> at scala.collection.mutable.HashTable.foreachEntry$(HashTable.scala:230)
> at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:44)
> at scala.collection.mutable.HashMap$$anon$2.foreach(HashMap.scala:158)
> at scala.collection.TraversableLike.map(TraversableLike.scala:238)
> at scala.collection.TraversableLike.map$(TraversableLike.scala:231)
> at scala.collection.AbstractTraversable.map(Traversable.scala:108)
> at kafka.server.AdminManager.createTopics(AdminManager.scala:91)
> at
> kafka.server.KafkaApis.handleCreateTopicsRequest(KafkaApis.scala:1701)
> at kafka.server.KafkaApis.handle(KafkaApis.scala:147)
> at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:70)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)