[ 
https://issues.apache.org/jira/browse/STREAMS-80?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14001985#comment-14001985
 ] 

ASF GitHub Bot commented on STREAMS-80:
---------------------------------------

Github user mfranklin commented on the pull request:

    https://github.com/apache/incubator-streams/pull/15#issuecomment-43529420
  
    This does not appear to be the best way to solve for the problem you are 
encountering.  The semantics of the setRunning(false) method indicate that I 
want the component to terminate now, not flush the remaining items then 
terminate.  We either need to not set running to false until the queue is 
exhausted, or have another method that is something like 
flushBacklogAndTerminate()


> StreamsProcressorTask and StreamsPersistWriterTask are BROKEN
> -------------------------------------------------------------
>
>                 Key: STREAMS-80
>                 URL: https://issues.apache.org/jira/browse/STREAMS-80
>             Project: Streams
>          Issue Type: Bug
>            Reporter: Ryan Ebanks
>            Priority: Critical
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> A recent commit seems to have introduced this.  Its a simple fix, but the 
> while statement on line 70 of StreamsProviderTask should read
> while(this.keepRunning.get() || datum != null) {
> And line 75 in StreamsPersist writer task should read
> while(this.keepRunning.get() || datum != null) {
> Both lines are missing the datum != null statement.  This causes tasks to be 
> shutdown before data is processed and data is orphaned in the stream.  In the 
> worst case only the provider runs.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to