[
https://issues.apache.org/jira/browse/STORM-495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14155769#comment-14155769
]
ASF GitHub Bot commented on STORM-495:
--------------------------------------
GitHub user rick-kilgore reopened a pull request:
https://github.com/apache/storm/pull/254
STORM-495: KafkaSpout retries with exponential backoff
This is an implementation of the improvement request STORM-495:
https://issues.apache.org/jira/browse/STORM-495
The KafkaSpout keeps track of failed messages through multiple retries, and
delays their resubmission to the topology with an exponentially increasing
delay time. The spout does not terminate the retry cycle (it is my conviction
that it should not do so, because it cannot report context about the failure
that happened to abort the reqeust), it only handles delaying the retries. A
bolt in the topology is still expected to eventually call ack() instead of
fail() to stop the cycle.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/HBOCodeLabs/incubator-storm retries
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/storm/pull/254.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #254
----
commit cac70e77d3417e13082495aaac126f25a6d07eff
Author: Rick Kilgore <[email protected]>
Date: 2014-08-23T04:49:08Z
exponential backoff for failed messages
commit f9d2948a9e2dadbbb99128fd6570038e2096eabd
Author: Rick Kilgore <[email protected]>
Date: 2014-09-03T22:04:32Z
Merge branch 'master' into retryDelay
commit 6138e945894c2e0b95666909af51fd336862ce6d
Author: Rick Kilgore <[email protected]>
Date: 2014-09-06T06:57:17Z
Merge branch 'master' into retryDelay
commit 1c748a7fde11ebc7d209c16ad2b30bf19a316395
Author: Rick Kilgore <[email protected]>
Date: 2014-09-06T07:08:12Z
Merge pull request #1 from rick-kilgore/retryDelay
exponential backoff for failed messages
moving repo to HBOCodeLabs
commit 04b64bc66d5c29ba77c455f0125200ed8335376f
Author: rick-kilgore <[email protected]>
Date: 2014-09-08T20:49:18Z
add comment and different default for retry
commit 05336764408921f3ebcc4ac5b3e82da10e713bea
Author: rick-kilgore <[email protected]>
Date: 2014-09-08T20:58:01Z
default settings = no retry delay
default settings = no retry delay - i.e., preserve legacy behavior
commit cbbea7c5b2d014e0cb76b120223e6c257a96248b
Author: rick-kilgore <[email protected]>
Date: 2014-09-08T22:44:22Z
publish artifacts to HBO archiva repository
mvn deploy publishes artifacts to HBO archiva repository
commit b95b6d68c54b3e80431c73609870c6935b6d56ce
Author: rick-kilgore <[email protected]>
Date: 2014-09-09T00:17:29Z
change everything to com.hbo.hurley
change everything to com.hbo.hurley so relative links work
commit ae65a40473158aaaa546981943e922131aa28b36
Author: Rick Kilgore <[email protected]>
Date: 2014-09-09T18:45:04Z
add link to apache project in README.markdown file
commit 1e1e57289fe4d1317fcb4cc6e4819c18178b742b
Author: Rick Kilgore <[email protected]>
Date: 2014-09-09T18:51:18Z
add myself to list of contributors
commit 79e3efe2558d252f2122facdb0ce5e69c9c62104
Author: Rick Kilgore <[email protected]>
Date: 2014-09-09T21:52:37Z
make config names more consistent with each other
commit ea0989d8fb46ac213d813ec58d9c0ee07b75a6be
Author: Rick Kilgore <[email protected]>
Date: 2014-09-09T21:54:25Z
remove garbage - I don't know where it came from
commit 5c1029a921483bc86c0b01fec37bfdaba13a206d
Author: Rick Kilgore <[email protected]>
Date: 2014-09-09T21:56:00Z
Merge branch 'retries' into hboRepo
commit 49f91dc3e644643d774afa159cf521faa9062e42
Author: Rick Kilgore <[email protected]>
Date: 2014-09-09T22:32:39Z
remove garbage file
commit 2aa03468db3971a11d07048628908074f2a0d3b3
Author: Rick Kilgore <[email protected]>
Date: 2014-09-09T23:03:34Z
do the time calc only once
do the due time calculation for a MessageRetryRecord when one is
created, not every time isReadyForRetry() is calculated
commit 6f6ece94743eb5432f079db636f4c76dc880f076
Author: Rick Kilgore <[email protected]>
Date: 2014-09-09T23:04:30Z
Merge branch 'retries' into hboRepo
commit f4fa76c63efefa987ba124dd7dc8f895f9fe6dcc
Author: Rick Kilgore <[email protected]>
Date: 2014-09-09T23:06:56Z
silly fix
use member var, don't pass it
commit e54fae316d6fc97f0e35a442901adc5ce20166ab
Author: Rick Kilgore <[email protected]>
Date: 2014-09-09T23:07:15Z
Merge branch 'retries' into hboRepo
commit 26af8daa3e16e2199828c7760a68849dbbd27af1
Author: Rick Kilgore <[email protected]>
Date: 2014-09-10T23:05:36Z
fixes from review
replace new Date().getTime() with System.currentTimeMillis()
commit d010cb8f25b4a4e0a7882391fc74566c657dbcd1
Author: Rick Kilgore <[email protected]>
Date: 2014-09-11T00:18:53Z
Merge branch 'retries' into hboRepo
commit 36c5dc5169555325e9e7680939b2f87d6de44487
Author: Rick Kilgore <[email protected]>
Date: 2014-09-11T21:03:37Z
Merge pull request #2 from HBOCodeLabs/hboRepo
exponential backoff for failed messages
commit 8c78c13de01002fd39536430a32da5a0230184d6
Author: Rick Kilgore <[email protected]>
Date: 2014-09-11T21:05:37Z
add me
commit 40ab899fe3d67e77c9f1678dbc70d19dd2faf065
Author: Rick Kilgore <[email protected]>
Date: 2014-09-11T21:16:05Z
added to README the need to run mvn deploy
commit 77c2df28517f9b9acd87724116d9b7b3573be4fc
Author: Rick Kilgore <[email protected]>
Date: 2014-09-12T00:29:05Z
update storm-kafka README.md
Update storm-kafka README.md with info about retry settings.
Also update the sentence on what SpoutConfig provides over KafkaConfig.
commit ed593480ba543127c9491b5beab68ca49c6bd9a1
Author: Rick Kilgore <[email protected]>
Date: 2014-09-26T23:10:49Z
Merge remote-tracking branch 'apache/master'
Conflicts:
README.markdown
commit 3cda45d5045eafc35a9aaa4136681fe5628360de
Author: Rick Kilgore <[email protected]>
Date: 2014-10-01T20:29:19Z
Merge branch 'master' into retries
Conflicts:
README.markdown
commit 9faf431ff347549380e5a1cf34273018daa815ac
Author: Rick Kilgore <[email protected]>
Date: 2014-10-01T20:29:41Z
Merge branch 'master' into readme
commit d49d014c0c540cebd0a985ace52c57fc5ee88ec7
Author: Rick Kilgore <[email protected]>
Date: 2014-10-01T20:41:45Z
Merge branch 'master' into retries
commit fabd682a2880cc77ff025cb7c09ad19834d47539
Author: Rick Kilgore <[email protected]>
Date: 2014-10-01T21:16:26Z
back out deploy to HBO maven server
back out deploy to HBO maven server
commit 2bf7f6fa1321ca720f2f03d34b638fa502a7e61b
Author: Rick Kilgore <[email protected]>
Date: 2014-10-01T21:18:16Z
back out whitepsace change
----
> Add delayed retries to KafkaSpout
> ---------------------------------
>
> Key: STORM-495
> URL: https://issues.apache.org/jira/browse/STORM-495
> Project: Apache Storm
> Issue Type: Improvement
> Affects Versions: 0.9.3
> Environment: all environments
> Reporter: Rick Kilgore
> Priority: Minor
> Labels: kafka, retry
>
> If a tuple in the topology originates from the KafkaSpout from the
> external/storm-kafka sources, and if a bolt in the topology indicates a
> failure by calling fail() on its OutputCollector, the KafkaSpout will
> immediately retry the message.
> We wish to use this failure and retry behavior in our ingestion system
> whenever we experience a recoverable error from a downstream system, such as
> a 500 or 503 error from a service we depend on. But with the current
> KafkaSpout behavior, doing so results in a tight loop where we retry several
> times over a few seconds and then give up. I want to be able to delay retry
> to give the downstream service some time to recover. Ideally, I would like
> to have configurable, exponential backoff retry.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)