[ 
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)

Reply via email to