[
https://issues.apache.org/jira/browse/STORM-603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14264781#comment-14264781
]
ASF GitHub Bot commented on STORM-603:
--------------------------------------
Github user curtisallen commented on a diff in the pull request:
https://github.com/apache/storm/pull/361#discussion_r22474024
--- Diff:
external/storm-kafka/src/jvm/storm/kafka/DynamicBrokersReader.java ---
@@ -149,4 +158,19 @@ private Broker getBrokerHost(byte[] contents) {
}
}
+ private void validateConfig(final Map conf) {
+ if(conf.get(Config.STORM_ZOOKEEPER_SESSION_TIMEOUT) == null) {
--- End diff --
@harshach there are no defaults for these values, hence the reason for this
pull request. The constructor for the DynamicBrokerReader accepts a
`java.util.Map` Which must contain the values that are verified in this
`validateConfig` method.
> storm-kafka: Log errors when missing required configuration fields
> ------------------------------------------------------------------
>
> Key: STORM-603
> URL: https://issues.apache.org/jira/browse/STORM-603
> Project: Apache Storm
> Issue Type: Bug
> Reporter: Curtis Allen
> Assignee: Curtis Allen
>
> I was upgrading our topologies to storm-0.9.3 this
> [commit|https://github.com/apache/storm/commit/2596e335f27a57784a93a57823bd93dde587909f]
> introduced a change that threw me for a loop. When submitting my topology I
> got the following error.
> {code}
> [main] ERROR storm.kafka.DynamicBrokersReader - Couldn't connect to zookeeper
> java.lang.IllegalArgumentException: Don't know how to convert null to int
> at backtype.storm.utils.Utils.getInt(Utils.java:301)
> ~[storm-core-0.9.3.jar:0.9.3]
> at
> storm.kafka.DynamicBrokersReader.<init>(DynamicBrokersReader.java:47)
> ~[gambit-storm-threads-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
> at
> com.pearson.gambit.threads.storm.ThreadsTopology.main(ThreadsTopology.java:45)
> [gambit-storm-threads-0.0.1-SNAPSHOT-jar-with-dependencies.jar:na]
> Exception in thread "main" java.lang.RuntimeException:
> java.lang.RuntimeException: java.lang.NullPointerException
> at
> storm.kafka.DynamicBrokersReader.getBrokerInfo(DynamicBrokersReader.java:81)
> at
> com.pearson.gambit.threads.storm.ThreadsTopology.main(ThreadsTopology.java:48)
> Caused by: java.lang.RuntimeException: java.lang.NullPointerException
> at
> storm.kafka.DynamicBrokersReader.getNumPartitions(DynamicBrokersReader.java:94)
> at
> storm.kafka.DynamicBrokersReader.getBrokerInfo(DynamicBrokersReader.java:65)
> ... 1 more
> Caused by: java.lang.NullPointerException
> at
> storm.kafka.DynamicBrokersReader.getNumPartitions(DynamicBrokersReader.java:91)
> ... 2 more
> {code}
> It took me a while to figure out that this error stems from missing the
> {code}backtype.storm.Config.STORM_ZOOKEEPER_CONNECTION_TIMEOUT{code} property
> in the conf map provided to the {code}storm.kafka.DynamicBrokersReader{code}
> constructer. It would be nice to check the required configuration parameters
> and throw a RuntimeException if any are missing.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)