Uploaded image for project: 'Oozie'
  1. Oozie
  2. OOZIE-3592

Do not print misleading SecurityException for successful jobs

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.2.0
    • 5.3.0
    • None
    • None

    Description

      The following exception is logged by Oozie due to System.exit() calls in application JVM-s even after successful workflow actions:

      Hadoop Job IDs executed by Sqoop: job_1583161376812_0018
      
      java.lang.reflect.InvocationTargetException
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.apache.oozie.action.hadoop.LauncherAM.runActionMain(LauncherAM.java:413)
      	at org.apache.oozie.action.hadoop.LauncherAM.access$400(LauncherAM.java:55)
      	at org.apache.oozie.action.hadoop.LauncherAM$2.run(LauncherAM.java:226)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at javax.security.auth.Subject.doAs(Subject.java:422)
      	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1876)
      	at org.apache.oozie.action.hadoop.LauncherAM.run(LauncherAM.java:220)
      	at org.apache.oozie.action.hadoop.LauncherAM$1.run(LauncherAM.java:156)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at javax.security.auth.Subject.doAs(Subject.java:422)
      	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1876)
      	at org.apache.oozie.action.hadoop.LauncherAM.main(LauncherAM.java:144)
      Caused by: java.lang.SecurityException: Intercepted System.exit(0)
      	at org.apache.oozie.action.hadoop.security.LauncherSecurityManager.checkExit(LauncherSecurityManager.java:57)
      	at java.lang.Runtime.exit(Runtime.java:107)
      	at java.lang.System.exit(System.java:971)
      	at org.apache.sqoop.Sqoop.main(Sqoop.java:260)
      	at org.apache.oozie.action.hadoop.SqoopMain.runSqoopJob(SqoopMain.java:221)
      	at org.apache.oozie.action.hadoop.SqoopMain.run(SqoopMain.java:206)
      	at org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:107)
      	at org.apache.oozie.action.hadoop.SqoopMain.main(SqoopMain.java:52)
      	... 16 more
      Intercepting System.exit(0)
      

      Typically happens in Sqoop actions. This can be very misleading for users as they may suspect that some error has occurred even if their yarn application and Oozie workflow has been marked as succeeded.

      The "error" is already ignored by Oozie when the System.exit code is 0, but we should not print either this exception in such cases.

      Attachments

        1. OOZIE-3592-v3.patch
          10 kB
          Mate Juhasz
        2. OOZIE-3592-v2.patch
          9 kB
          Mate Juhasz
        3. OOZIE-3592-v1.patch
          6 kB
          Mate Juhasz

        Activity

          People

            matijhs Mate Juhasz
            matijhs Mate Juhasz
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: