[ 
https://issues.apache.org/jira/browse/SAMZA-1756?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cameron Lee updated SAMZA-1756:
-------------------------------
    Description: 
A recent change from SAMZA-1724 introduced a System.exit call at the end of 
ApplicationRunnerMain. However, ProcessJob has a non-daemon thread that needs 
to stay alive in order to deploy the container and then shut down the job model 
manager after the container shuts down.

The System.exit will either:
 # Kill the ProcessJob thread before it can start the process
 # Kill the job model manager from ProcessJobFactory, so the new container 
process (if it does get started) is unable to reach the coordinator to get 
configs

Also, this System.exit causes the execution of unit tests to stop early because 
the main method is called in TestApplicationRunnerMain. The 
Thread.setDefaultUncaughtExceptionHandler also causes test execution to exit 
incorrectly, since that handler seems to get triggered by some other test.

>From what I can tell, the ApplicationRunnerMain changes are there to be 
>defensive, but there was no explicit case that it was fixing right now. For 
>now, we can revert those changes until we know how to solve these issues.

  was:
A recent change from SAMZA-1724 introduced a System.exit call at the end of 
ApplicationRunnerMain. However, ProcessJob has a non-daemon thread that needs 
to stay alive in order to deploy the container and then shut down the job model 
manager after the container shuts down.

The System.exit will either:
 # Kill the ProcessJob thread before it can start the process
 # Kill the job model manager from ProcessJobFactory, so the new container 
process (if it does get started) is unable to reach the coordinator to get 
configs

>From what I can tell, the System.exit was there to be defensive, but there was 
>no explicit case that it was fixing right now. For now, we can remove this 
>System.exit until we have a better way to handle this ProcessJob case.


> System exit calls in ApplicationRunnerMain break ProcessJob and cause unit 
> tests to get skipped
> -----------------------------------------------------------------------------------------------
>
>                 Key: SAMZA-1756
>                 URL: https://issues.apache.org/jira/browse/SAMZA-1756
>             Project: Samza
>          Issue Type: Bug
>    Affects Versions: 0.15
>            Reporter: Cameron Lee
>            Assignee: Cameron Lee
>            Priority: Major
>
> A recent change from SAMZA-1724 introduced a System.exit call at the end of 
> ApplicationRunnerMain. However, ProcessJob has a non-daemon thread that needs 
> to stay alive in order to deploy the container and then shut down the job 
> model manager after the container shuts down.
> The System.exit will either:
>  # Kill the ProcessJob thread before it can start the process
>  # Kill the job model manager from ProcessJobFactory, so the new container 
> process (if it does get started) is unable to reach the coordinator to get 
> configs
> Also, this System.exit causes the execution of unit tests to stop early 
> because the main method is called in TestApplicationRunnerMain. The 
> Thread.setDefaultUncaughtExceptionHandler also causes test execution to exit 
> incorrectly, since that handler seems to get triggered by some other test.
> From what I can tell, the ApplicationRunnerMain changes are there to be 
> defensive, but there was no explicit case that it was fixing right now. For 
> now, we can revert those changes until we know how to solve these issues.



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

Reply via email to