Shanthoosh Venkataraman updated SAMZA-1584:
    Summary: LocalApplicationRunner.waitForFinish blocks indefinitely.  (was: 
Unbounded wait in StreamProcessor.stop().)

> LocalApplicationRunner.waitForFinish blocks indefinitely.
> ---------------------------------------------------------
>                 Key: SAMZA-1584
>                 URL: https://issues.apache.org/jira/browse/SAMZA-1584
>             Project: Samza
>          Issue Type: Bug
>            Reporter: Shanthoosh Venkataraman
>            Assignee: Shanthoosh Venkataraman
>            Priority: Major
> 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

Reply via email to