You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Rohini Palaniswamy (JIRA)" <ji...@apache.org> on 2016/07/06 19:31:11 UTC

[jira] [Commented] (OOZIE-2581) Oozie should reset SecurityManager in finally block

    [ https://issues.apache.org/jira/browse/OOZIE-2581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15364939#comment-15364939 ] 

Rohini Palaniswamy commented on OOZIE-2581:
-------------------------------------------

Few comments: 
  - SecurityManager initialSecurityManager = System.getSecurityManager(); during initialization itself
  - If initialSecurityManager is not null, you can set that directly instead of proxying through noop  security manager. Document why we need a noop security manager instead of setting to null.
  - System.out.println("Failed to reset security manager: " + t.getMessage()); is repeated twice. You can use LOG.warn instead so that whole stacktrace appears in syslog



> Oozie should reset SecurityManager in finally block
> ---------------------------------------------------
>
>                 Key: OOZIE-2581
>                 URL: https://issues.apache.org/jira/browse/OOZIE-2581
>             Project: Oozie
>          Issue Type: Bug
>            Reporter: Satish Subhashrao Saley
>            Assignee: Satish Subhashrao Saley
>         Attachments: OOZIE-2581-1.patch
>
>
> [~jlowe] found lot of lingering oozie launcher AMs which hung around 10 mins after successful completion and then jvm killed due to timeout. This happens when user code launches non-daemon threads, but mapreduce code does a System.exit() to avoid this from happening. Oozie does need the LauncherSecurityManager to capture exit codes when user applications do System.exit() . But it should reset it back to the originial security manager in the finally block so that AM code can proceed as expected in uber mode.
> {code}
> 2016-05-12 12:26:48,514 INFO [Thread-107] org.apache.hadoop.util.ExitUtil: Exiting with status 1
> 2016-05-12  12:26:48,514 ERROR [Thread-107]  org.apache.hadoop.yarn.YarnUncaughtExceptionHandler: Thread  Thread[Thread-107,5,main] threw an Exception.
> java.lang.SecurityException: Intercepted System.exit(1)
>         at org.apache.oozie.action.hadoop.LauncherSecurityManager.checkExit(LauncherMapper.java:637)
>         at java.lang.Runtime.exit(Runtime.java:107)
>         at java.lang.System.exit(System.java:971)
>        at org.apache.hadoop.util.ExitUtil.terminate(ExitUtil.java:133)
>         at org.apache.hadoop.util.ExitUtil.terminate(ExitUtil.java:170)
>         at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.exitMRAppMaster(MRAppMaster.java:655)
>         at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.shutDownJob(MRAppMaster.java:636)
>         at org.apache.hadoop.mapreduce.v2.app.MRAppMaster$JobFinishEventHandler$1.run(MRAppMaster.java:676)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)