Github user ptgoetz commented on a diff in the pull request:
https://github.com/apache/storm/pull/254#discussion_r18316629
--- Diff: external/storm-kafka/src/jvm/storm/kafka/SpoutConfig.java ---
@@ -26,8 +26,19 @@
public Integer zkPort = null;
public String zkRoot = null;
public String id = null;
+
+ // setting for how often to save the current kafka offset to ZooKeeper
public long stateUpdateIntervalMs = 2000;
+ // Exponential back-off retry settings. These are used when retrying
messages after a bolt
+ // calls OutputCollector.fail().
+ //
+ // Note: be sure to set backtype.storm.Config.MESSAGE_TIMEOUT_SECS
appropriately to prevent
+ // resubmitting the message while still retrying.
--- End diff --
Can we do some sanity checking in the `KafkaSpout.open()` method? At that
point you should be able to compare both the `SpoutConfig` and the
`backtype.storm.Config` to see if `MESSAGE_TIMEOUT_SECS` is set appropriately.
If it is not, we should throw and `IllegalStateException` (with a good
message explaining the problem) or at the very least log (loud) errors.
My (and I suspect @d2r's) fear is that if there is a misconfiguration, it
could be very difficult for a user to debug.
I would also make the comments javadoc comments.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---