Boris Shkolnik created SAMZA-1348:
-------------------------------------
Summary: Run stop() in the StreamProcessor in the same thread as
other events.
Key: SAMZA-1348
URL: https://issues.apache.org/jira/browse/SAMZA-1348
Project: Samza
Issue Type: Bug
Reporter: Boris Shkolnik
stop() should be running in the same thread as other events. Since sometimes
it is invoked form the container thread, it may end up running at the same time
as another event from ZK.
Even, if one of the first things stop() does is stopping the scheduler, an
event still may be running. So the solution would be to call the stop () from
JobCoordinator, using the same debouncing thread as every other event. It will
do the following:
* Cancel all the currently en-queued tasks. It still may have one task running.
* Schedule itself (stop()) on the same debounce thread.
Note. Since we are using scheduler's thread to run stop(), we won't be able to
run scheduler.stop(). But that should be fine, since it is a daemon thread.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)