[ 
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) {// 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) {// 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to