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)