GitHub user rick-kilgore opened a pull request:

    https://github.com/apache/incubator-storm/pull/254

    [STORM-495] KafkaSpout retries with exponential backoff

    This is an implementation of the improvement request 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/incubator-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 79e3efe2558d252f2122facdb0ce5e69c9c62104
Author: Rick Kilgore <[email protected]>
Date:   2014-09-09T21:52:37Z

    make config names more consistent with each other

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 f4fa76c63efefa987ba124dd7dc8f895f9fe6dcc
Author: Rick Kilgore <[email protected]>
Date:   2014-09-09T23:06:56Z

    silly fix
    
    use member var, don't pass it

----


---
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.
---

Reply via email to