GitHub user srdo opened a pull request:
https://github.com/apache/storm/pull/2453
STORM-2851: Fix ConcurrentModificationException in doSeekRetriableParâ¦
â¦titions
See https://issues.apache.org/jira/browse/STORM-2851.
The bug is caused by the call to `retriableTopicPartitions.remove(tp)` in
doSeekRetriablePartitions. Rather than just rewriting it to use an iterator I
thought it was better to get rid of the loop. It was meant to ensure that we
didn't seek the consumer on partitions that would be paused in the current call
to nextTuple. I've moved this filtering into PollingInfo, and have made poll()
return it. This also allows us to only get earliestRetriableOffsets once for
the call to nextTuple, rather than once in poll and once in doSeek.
The added test is not related to the fix, it just adds more verification
that the maxUncommittedOffsets limit is enforced.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/srdo/storm STORM-2851
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/storm/pull/2453.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 #2453
----
commit 8086605ee727ccbd0e2230238f3415786e83df58
Author: Stig Rohde Døssing <[email protected]>
Date: 2017-12-10T18:22:14Z
STORM-2851: Fix ConcurrentModificationException in doSeekRetriablePartitions
----
---