[
https://issues.apache.org/jira/browse/STORM-2094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pratik kumar updated STORM-2094:
--------------------------------
Description:
Trident wraps IRichSpout into a RichSpoutBatchExecutor which is a Trident
spout.
Inside RichBatchSpoutExecutor is a for loop to emit batch of tuples:
for(int i=0; i<_maxBatchSize; i++) {
_spout.nextTuple();
if(_collector.numEmitted < i) {
break;
}
}
Due to numEmitted of CaptureCollector not being refreshed it carries the
emitted items count from previous batch and thus causes spout to block for long
durations even when it has nothing to emit.
was:
Trident wraps IRichSpout into a RichSpoutBatchExecutor which is a Trident
spout.
Inside RichBatchSpoutExecutor is a for loop to emit batch of tuples:
for(int i=0; i<_maxBatchSize; i++) {
_spout.nextTuple();
if(_collector.numEmitted < i) {// numEmitted is not refreshed
break;
}
}
Due to numEmitted of CaptureCollector not being refreshed it carries the
emitted items count from previous batch and thus causes spout to block for long
durations even when it has nothing to emit.
> RichSpoutBatch Executor doesn't refresh number of emitted items at collector
> reset
> ----------------------------------------------------------------------------------
>
> Key: STORM-2094
> URL: https://issues.apache.org/jira/browse/STORM-2094
> Project: Apache Storm
> Issue Type: Bug
> Reporter: Pratik kumar
> Priority: Minor
>
> Trident wraps IRichSpout into a RichSpoutBatchExecutor which is a Trident
> spout.
> Inside RichBatchSpoutExecutor is a for loop to emit batch of tuples:
> for(int i=0; i<_maxBatchSize; i++) {
> _spout.nextTuple();
> if(_collector.numEmitted < i) {
> break;
> }
> }
> Due to numEmitted of CaptureCollector not being refreshed it carries the
> emitted items count from previous batch and thus causes spout to block for
> long durations even when it has nothing to emit.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)