You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@samza.apache.org by "Shanthoosh Venkataraman (JIRA)" <ji...@apache.org> on 2018/02/13 00:24:00 UTC
[jira] [Updated] (SAMZA-1584) LocalApplicationRunner.waitForFinish
blocks indefinitely.
[ https://issues.apache.org/jira/browse/SAMZA-1584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
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
(v7.6.3#76005)