Shanthoosh Venkataraman created SAMZA-1584:
----------------------------------------------

             Summary: Unbounded wait in StreamProcessor.stop().
                 Key: SAMZA-1584
                 URL: https://issues.apache.org/jira/browse/SAMZA-1584
             Project: Samza
          Issue Type: Bug
            Reporter: Shanthoosh Venkataraman
            Assignee: Shanthoosh Venkataraman


Recommended solution to kill streamApplication in standalone is the following:

LocalApplicationRunner.kill(streamApp);

LocalApplicationRunner.waitForFinish(streamApp);

LocalApplicationRunner.kill(streamApplication) invokes StreamProcessor.stop() 
and  StreamProcessor.stop() invokes SamzaContainer.shutdown() to kill the 
samza-container. 

SamzaContainer.shutdown() marks the shutdown flag of AsyncRunLoop and shutdown 
flag will be taken into account by AsyncRunLoop when it chooses the next 
operation to execute. 

Actual shutdown sequence of StreamProcessor and ZkJobCoordinator is triggered 
on SamzaContainerListener.onContainerStop() callback which is fired when the 
SamzaContainer is completely shutdown. LocalApplication.awaitForFinish() will 
block forever in following two scenarios:

 - If any of the AsyncRunLoop operation(commit, window, process) is going on 
indefinitely, then the marked shutdown flag will not be seen by the 
AsyncRunLoop.

- If any step in SamzaContainer shutdown sequence blocks indefinitely.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to