[ https://issues.apache.org/jira/browse/KAFKA-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason Whaley updated KAFKA-2184: -------------------------------- Description: When creating a ConsumerConfig from java.util.Properties, an IllegalArgumentException is thrown when the Properties instance is converted to a VerifiableProperties instance. To reproduce: {code} package com.test; import kafka.consumer.ConsumerConfig; import java.util.Properties; public class ContainsKeyTest { public static void main(String[] args) { Properties defaultProperties = new Properties(); defaultProperties.put("zookeeper.connect", "192.168.50.4:2181"); defaultProperties.put("zookeeper.session.timeout.ms", "400"); defaultProperties.put("zookeeper.sync.time.ms", "200"); defaultProperties.put("auto.commit.interval.ms", "1000"); defaultProperties.put("group.id", "consumerGroup"); Properties props = new Properties(defaultProperties); //prints 192.168.50.4:2181 System.out.println(props.getProperty("zookeeper.connect")); //throws java.lang.IllegalArgumentException: requirement failed: Missing required property 'zookeeper.connect' ConsumerConfig config = new ConsumerConfig(props); } } {code} This is easy enough to work around, but default Properties should be honored by not calling containsKey inside of kafka.utils.VerifiableProperties#getString was: When creating a ConsumerConfig from java.util.Properties, an IllegalArgumentException is thrown when the Properties instance is converted to a VerifiableProperties instance. To reproduce: {code} package com.test; import kafka.consumer.ConsumerConfig; import java.util.Properties; public class ContainsKeyTest { public static void main(String[] args) { Properties defaultProperties = new Properties(); defaultProperties.put("zookeeper.connect", "192.168.50.4:2181"); defaultProperties.put("zookeeper.session.timeout.ms", "400"); defaultProperties.put("zookeeper.sync.time.ms", "200"); defaultProperties.put("auto.commit.interval.ms", "1000"); defaultProperties.put("group.id", "consumerGroup"); Properties props = new Properties(defaultProperties); //prints 192.168.50.4:2181 System.out.println(props.getProperty("zookeeper.connect")); //throws java.lang.IllegalArgumentException: requirement failed: Missing required property 'zookeeper.connect' ConsumerConfig config = new ConsumerConfig(props); } } {code} This is easy enough to work around, but default Properties should be honored by not calling containsKey inside of kafka.utils.VerifiableProperties#getString method > ConsumerConfig does not honor default java.util.Properties > ---------------------------------------------------------- > > Key: KAFKA-2184 > URL: https://issues.apache.org/jira/browse/KAFKA-2184 > Project: Kafka > Issue Type: Bug > Components: consumer > Affects Versions: 0.8.2.0 > Reporter: Jason Whaley > Assignee: Neha Narkhede > Priority: Minor > > When creating a ConsumerConfig from java.util.Properties, an > IllegalArgumentException is thrown when the Properties instance is converted > to a VerifiableProperties instance. To reproduce: > {code} > package com.test; > import kafka.consumer.ConsumerConfig; > import java.util.Properties; > public class ContainsKeyTest { > public static void main(String[] args) { > Properties defaultProperties = new Properties(); > defaultProperties.put("zookeeper.connect", "192.168.50.4:2181"); > defaultProperties.put("zookeeper.session.timeout.ms", "400"); > defaultProperties.put("zookeeper.sync.time.ms", "200"); > defaultProperties.put("auto.commit.interval.ms", "1000"); > defaultProperties.put("group.id", "consumerGroup"); > Properties props = new Properties(defaultProperties); > //prints 192.168.50.4:2181 > System.out.println(props.getProperty("zookeeper.connect")); > //throws java.lang.IllegalArgumentException: requirement failed: > Missing required property 'zookeeper.connect' > ConsumerConfig config = new ConsumerConfig(props); > } > } > {code} > This is easy enough to work around, but default Properties should be honored > by not calling containsKey inside of > kafka.utils.VerifiableProperties#getString -- This message was sent by Atlassian JIRA (v6.3.4#6332)