Github user rick-kilgore commented on a diff in the pull request:
https://github.com/apache/storm/pull/254#discussion_r18317774
--- 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 --
Actually, in the spout I can't know how many times a topology is going to
retry its messages, so at startup I can't know with certainty whether the
retries might exceed TOPOLOGY_MESSAGE_TIMEOUT_SECS or not. Plus there is the
uncertainty of not knowing how long it will take to complete or fail on a given
try.
I __can__ detect the problem inside fail(). Maybe I could add some kind of
response there, like logging an error and just not retrying (since I know that
this other retry will happen before the spout's retry would)?
---
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.
---