[
https://issues.apache.org/jira/browse/STREAMS-80?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14005142#comment-14005142
]
ASF GitHub Bot commented on STREAMS-80:
---------------------------------------
Github user smashew commented on the pull request:
https://github.com/apache/incubator-streams/pull/15#issuecomment-43804858
In the runtime environments, save LocalStreamsBuilder everything should be
run as a thread in a thread monitor, which can then be checked to see if there
is an active queue. Then we should document that the 'writeDatum' method is
already threaded and the user shouldn't thread the call further. Or at least
know that it is tracking the method 'writeDatum' to establish that it's effort
is completed. (see my fork for a reference implementation of exactly this)
> 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)