[jira] [Commented] (OOZIE-3405) SSH action shows empty error Message and Error code
[ https://issues.apache.org/jira/browse/OOZIE-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16930359#comment-16930359 ] ASF subversion and git services commented on OOZIE-3405: Commit 6eb86cb30057f32dab0ab6b00ec5c751e7b38086 in oozie's branch refs/heads/master from Andras Salamon [ https://gitbox.apache.org/repos/asf?p=oozie.git;h=6eb86cb ] OOZIE-3405 SSH action shows empty error Message and Error code (matijhs via asalamon74) > SSH action shows empty error Message and Error code > --- > > Key: OOZIE-3405 > URL: https://issues.apache.org/jira/browse/OOZIE-3405 > Project: Oozie > Issue Type: Improvement >Affects Versions: 5.1.0 >Reporter: Peter Orova >Assignee: Mate Juhasz >Priority: Minor > Fix For: trunk > > Attachments: OOZIE-3405-V1.patch, OOZIE-3405-V2.patch > > > Currently, when an SSH action fails the only message that is returned is the > Status. Neither the {{error Message}} nor {{Error code}} fields are filled. > This makes reporting on the causes of SSH Action failures via Oozie highly > impractical: the only meaningful bit of information there is on a failed SSH > Action is the Status. > The Status is filled based on the presence (or lack of) the {{.error file}} > that is produced in case the user submitted script returns with any other > value than 0. > {noformat} > SshActionExecutor#getActionStatus > ... > String outFile = getRemoteFileName(context, action, "error", false, true); > String checkErrorCmd = SSH_COMMAND_BASE + action.getTrackerUri() + " ls " + > outFile; > int retVal = getReturnValue(checkErrorCmd); > ... > {noformat} > > User requirement is to provide some more detailed information on the > success/failure of the user-submitted script. That could be at a minimum the > return value, optionally the last ~1K of the stderr that is drained. This > information could then be communicated via {{errorMessage}} and {{ErrorCode}} -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Commented] (OOZIE-3405) SSH action shows empty error Message and Error code
[ https://issues.apache.org/jira/browse/OOZIE-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16925518#comment-16925518 ] Hadoop QA commented on OOZIE-3405: -- Testing JIRA OOZIE-3405 Cleaning local git workspace {color:green}+1 PATCH_APPLIES{color} {color:green}+1 CLEAN{color} {color:green}+1 RAW_PATCH_ANALYSIS{color} .{color:green}+1{color} the patch does not introduce any @author tags .{color:green}+1{color} the patch does not introduce any tabs .{color:green}+1{color} the patch does not introduce any trailing spaces .{color:green}+1{color} the patch does not introduce any star imports .{color:green}+1{color} the patch does not introduce any line longer than 132 .{color:green}+1{color} the patch adds/modifies 1 testcase(s) {color:green}+1 RAT{color} .{color:green}+1{color} the patch does not seem to introduce new RAT warnings {color:green}+1 JAVADOC{color} .{color:green}+1{color} Javadoc generation succeeded with the patch .{color:green}+1{color} the patch does not seem to introduce new Javadoc warning(s) {color:green}+1 COMPILE{color} .{color:green}+1{color} HEAD compiles .{color:green}+1{color} patch compiles .{color:green}+1{color} the patch does not seem to introduce new javac warnings {color:red}-1{color} There are [23] new bugs found below threshold in total that must be fixed. .{color:green}+1{color} There are no new bugs found in [fluent-job/fluent-job-api]. .{color:green}+1{color} There are no new bugs found in [docs]. .{color:red}-1{color} There are [7] new bugs found below threshold in [core] that must be fixed, listing only the first [5] ones. .You can find the SpotBugs diff here (look for the red and orange ones): core/findbugs-new.html .The top [5] most important SpotBugs errors are: .At SshActionExecutor.java:[line 180]: This usage of java/lang/Runtime.exec([Ljava/lang/String;)Ljava/lang/Process; can be vulnerable to Command Injection .At SshActionExecutor.java:[line 145]: At SshActionExecutor.java:[line 144] .At SshActionExecutor.java:[line 180]: At SshActionExecutor.java:[line 148] .At SshActionExecutor.java:[line 200]: At SshActionExecutor.java:[line 199] .This use of javax/persistence/EntityManager.createQuery(Ljava/lang/String;)Ljavax/persistence/Query; can be vulnerable to SQL/JPQL injection: At SshActionExecutor.java:[line 204] .{color:green}+1{color} There are no new bugs found in [sharelib/spark]. .{color:green}+1{color} There are no new bugs found in [sharelib/git]. .{color:green}+1{color} There are no new bugs found in [sharelib/sqoop]. .{color:green}+1{color} There are no new bugs found in [sharelib/hive2]. .{color:green}+1{color} There are no new bugs found in [sharelib/streaming]. .{color:green}+1{color} There are no new bugs found in [sharelib/pig]. .{color:red}-1{color} There are [1] new bugs found below threshold in [sharelib/oozie] that must be fixed. .You can find the SpotBugs diff here (look for the red and orange ones): sharelib/oozie/findbugs-new.html .The most important SpotBugs errors are: .At ShellMain.java:[line 93]: This usage of java/lang/ProcessBuilder.init(Ljava/util/List;)V can be vulnerable to Command Injection .At ShellMain.java:[line 91]: At ShellMain.java:[line 90] .At ShellMain.java:[line 92] .{color:green}+1{color} There are no new bugs found in [sharelib/hive]. .{color:green}+1{color} There are no new bugs found in [sharelib/hcatalog]. .{color:green}+1{color} There are no new bugs found in [sharelib/distcp]. .{color:red}-1{color} There are [15] new bugs found below threshold in [tools] that must be fixed, listing only the first [5] ones. .You can find the SpotBugs diff here (look for the red and orange ones): tools/findbugs-new.html .The top [5] most important SpotBugs errors are: .At OozieDBCLI.java:[line 584]: This use of java/sql/Statement.executeUpdate(Ljava/lang/String;)I can be vulnerable to SQL injection .At OozieDBCLI.java:[line 574]: At OozieDBCLI.java:[line 573] .At OozieDBCLI.java:[line 577]: At OozieDBCLI.java:[line 575] .At OozieDBCLI.java:[line 579]: At OozieDBCLI.java:[line 578] .At OozieDBCLI.java:[line 584]: At OozieDBCLI.java:[line 581] .{color:green}+1{color} There are no new bugs found in [server]. .{color:green}+1{color} There are no new bugs found in [client]. .{color:green}+1{color} There are no new bugs found in [examples]. .{color:green}+1{color} There are no new bugs found in [webapp]. {color:green}+1 BACKWARDS_COMPATIBILITY{color} .{color:green}+1{color} the patch does not change any JPA Entity/Colum/Basic/Lob/Transient annotations .{color:green}+1{color} the patch does not modify JPA files {color:green}+1 TESTS{color} .Tests run: 3175 .{color:orange}Tests failed at first run:{color}
[jira] [Commented] (OOZIE-3405) SSH action shows empty error Message and Error code
[ https://issues.apache.org/jira/browse/OOZIE-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16925433#comment-16925433 ] Hadoop QA commented on OOZIE-3405: -- PreCommit-OOZIE-Build started > SSH action shows empty error Message and Error code > --- > > Key: OOZIE-3405 > URL: https://issues.apache.org/jira/browse/OOZIE-3405 > Project: Oozie > Issue Type: Improvement >Affects Versions: 5.1.0 >Reporter: Peter Orova >Assignee: Mate Juhasz >Priority: Minor > Fix For: trunk > > Attachments: OOZIE-3405-V1.patch, OOZIE-3405-V2.patch > > > Currently, when an SSH action fails the only message that is returned is the > Status. Neither the {{error Message}} nor {{Error code}} fields are filled. > This makes reporting on the causes of SSH Action failures via Oozie highly > impractical: the only meaningful bit of information there is on a failed SSH > Action is the Status. > The Status is filled based on the presence (or lack of) the {{.error file}} > that is produced in case the user submitted script returns with any other > value than 0. > {noformat} > SshActionExecutor#getActionStatus > ... > String outFile = getRemoteFileName(context, action, "error", false, true); > String checkErrorCmd = SSH_COMMAND_BASE + action.getTrackerUri() + " ls " + > outFile; > int retVal = getReturnValue(checkErrorCmd); > ... > {noformat} > > User requirement is to provide some more detailed information on the > success/failure of the user-submitted script. That could be at a minimum the > return value, optionally the last ~1K of the stderr that is drained. This > information could then be communicated via {{errorMessage}} and {{ErrorCode}} -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Commented] (OOZIE-3405) SSH action shows empty error Message and Error code
[ https://issues.apache.org/jira/browse/OOZIE-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16924366#comment-16924366 ] Julia Kinga Marton commented on OOZIE-3405: --- [~matijhs], I can see in the review that you have uploaded multiple patches. Can you please upload your patch here as well, to trigger the precommit script? > SSH action shows empty error Message and Error code > --- > > Key: OOZIE-3405 > URL: https://issues.apache.org/jira/browse/OOZIE-3405 > Project: Oozie > Issue Type: Improvement >Affects Versions: 5.1.0 >Reporter: Peter Orova >Assignee: Mate Juhasz >Priority: Minor > Fix For: trunk > > Attachments: OOZIE-3405-V1.patch > > > Currently, when an SSH action fails the only message that is returned is the > Status. Neither the {{error Message}} nor {{Error code}} fields are filled. > This makes reporting on the causes of SSH Action failures via Oozie highly > impractical: the only meaningful bit of information there is on a failed SSH > Action is the Status. > The Status is filled based on the presence (or lack of) the {{.error file}} > that is produced in case the user submitted script returns with any other > value than 0. > {noformat} > SshActionExecutor#getActionStatus > ... > String outFile = getRemoteFileName(context, action, "error", false, true); > String checkErrorCmd = SSH_COMMAND_BASE + action.getTrackerUri() + " ls " + > outFile; > int retVal = getReturnValue(checkErrorCmd); > ... > {noformat} > > User requirement is to provide some more detailed information on the > success/failure of the user-submitted script. That could be at a minimum the > return value, optionally the last ~1K of the stderr that is drained. This > information could then be communicated via {{errorMessage}} and {{ErrorCode}} -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Commented] (OOZIE-3405) SSH action shows empty error Message and Error code
[ https://issues.apache.org/jira/browse/OOZIE-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16921406#comment-16921406 ] Mate Juhasz commented on OOZIE-3405: Taking this over [~orova] if you dont mind :) > SSH action shows empty error Message and Error code > --- > > Key: OOZIE-3405 > URL: https://issues.apache.org/jira/browse/OOZIE-3405 > Project: Oozie > Issue Type: Improvement >Reporter: Peter Orova >Assignee: Mate Juhasz >Priority: Minor > > Currently, when an SSH action fails the only message that is returned is the > Status. Neither the {{error Message}} nor {{Error code}} fields are filled. > This makes reporting on the causes of SSH Action failures via Oozie highly > impractical: the only meaningful bit of information there is on a failed SSH > Action is the Status. > The Status is filled based on the presence (or lack of) the {{.error file}} > that is produced in case the user submitted script returns with any other > value than 0. > {noformat} > SshActionExecutor#getActionStatus > ... > String outFile = getRemoteFileName(context, action, "error", false, true); > String checkErrorCmd = SSH_COMMAND_BASE + action.getTrackerUri() + " ls " + > outFile; > int retVal = getReturnValue(checkErrorCmd); > ... > {noformat} > > User requirement is to provide some more detailed information on the > success/failure of the user-submitted script. That could be at a minimum the > return value, optionally the last ~1K of the stderr that is drained. This > information could then be communicated via {{errorMessage}} and {{ErrorCode}} -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Commented] (OOZIE-3405) SSH action shows empty error Message and Error code
[ https://issues.apache.org/jira/browse/OOZIE-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16733936#comment-16733936 ] Andras Salamon commented on OOZIE-3405: --- [~orova] I suggest creating one new error code with a message template like 'Script failed with exit value XX'. If you store the exit value in the {{.error}} file, you could use that information here. If someone needs more information, they can check the log files. > SSH action shows empty error Message and Error code > --- > > Key: OOZIE-3405 > URL: https://issues.apache.org/jira/browse/OOZIE-3405 > Project: Oozie > Issue Type: Improvement >Reporter: Peter Orova >Assignee: Peter Orova >Priority: Minor > > Currently, when an SSH action fails the only message that is returned is the > Status. Neither the {{error Message}} nor {{Error code}} fields are filled. > This makes reporting on the causes of SSH Action failures via Oozie highly > impractical: the only meaningful bit of information there is on a failed SSH > Action is the Status. > The Status is filled based on the presence (or lack of) the {{.error file}} > that is produced in case the user submitted script returns with any other > value than 0. > {noformat} > SshActionExecutor#getActionStatus > ... > String outFile = getRemoteFileName(context, action, "error", false, true); > String checkErrorCmd = SSH_COMMAND_BASE + action.getTrackerUri() + " ls " + > outFile; > int retVal = getReturnValue(checkErrorCmd); > ... > {noformat} > > User requirement is to provide some more detailed information on the > success/failure of the user-submitted script. That could be at a minimum the > return value, optionally the last ~1K of the stderr that is drained. This > information could then be communicated via {{errorMessage}} and {{ErrorCode}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (OOZIE-3405) SSH action shows empty error Message and Error code
[ https://issues.apache.org/jira/browse/OOZIE-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16732765#comment-16732765 ] Peter Orova commented on OOZIE-3405: [~asalamon74] Thank you for your insight, so setting the {{errorCode}} is off the table. Do you think we could still provide some information via the {{wf:errorMessage(String message)}} function? If we stored the return value of the script in the {{.error}} file, could we return that via the {{errorMessage}} function in the case of SSH actions? > SSH action shows empty error Message and Error code > --- > > Key: OOZIE-3405 > URL: https://issues.apache.org/jira/browse/OOZIE-3405 > Project: Oozie > Issue Type: Improvement >Reporter: Peter Orova >Assignee: Peter Orova >Priority: Minor > > Currently, when an SSH action fails the only message that is returned is the > Status. Neither the {{error Message}} nor {{Error code}} fields are filled. > This makes reporting on the causes of SSH Action failures via Oozie highly > impractical: the only meaningful bit of information there is on a failed SSH > Action is the Status. > The Status is filled based on the presence (or lack of) the {{.error file}} > that is produced in case the user submitted script returns with any other > value than 0. > {noformat} > SshActionExecutor#getActionStatus > ... > String outFile = getRemoteFileName(context, action, "error", false, true); > String checkErrorCmd = SSH_COMMAND_BASE + action.getTrackerUri() + " ls " + > outFile; > int retVal = getReturnValue(checkErrorCmd); > ... > {noformat} > > User requirement is to provide some more detailed information on the > success/failure of the user-submitted script. That could be at a minimum the > return value, optionally the last ~1K of the stderr that is drained. This > information could then be communicated via {{errorMessage}} and {{ErrorCode}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (OOZIE-3405) SSH action shows empty error Message and Error code
[ https://issues.apache.org/jira/browse/OOZIE-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16724912#comment-16724912 ] Andras Salamon commented on OOZIE-3405: --- {{Possible values of errorCode}} are listed in the [ErrorCode|[https://github.com/apache/oozie/blob/master/core/src/main/java/org/apache/oozie/ErrorCode.java].] So we cannot put the exit value of the process here (unless we create 255 new error codes). We can create one error code for this purpose, and store the error code in the error message field (with an additional text of course). Storing the exit value int the {{.error}} file is a good idea. Checking the existence of the file will work like before, but we can use this info for filling out the error message. > SSH action shows empty error Message and Error code > --- > > Key: OOZIE-3405 > URL: https://issues.apache.org/jira/browse/OOZIE-3405 > Project: Oozie > Issue Type: Improvement >Reporter: Peter Orova >Assignee: Peter Orova >Priority: Minor > > Currently, when an SSH action fails the only message that is returned is the > Status. Neither the {{error Message}} nor {{Error code}} fields are filled. > This makes reporting on the causes of SSH Action failures via Oozie highly > impractical: the only meaningful bit of information there is on a failed SSH > Action is the Status. > The Status is filled based on the presence (or lack of) the {{.error file}} > that is produced in case the user submitted script returns with any other > value than 0. > {noformat} > SshActionExecutor#getActionStatus > ... > String outFile = getRemoteFileName(context, action, "error", false, true); > String checkErrorCmd = SSH_COMMAND_BASE + action.getTrackerUri() + " ls " + > outFile; > int retVal = getReturnValue(checkErrorCmd); > ... > {noformat} > > User requirement is to provide some more detailed information on the > success/failure of the user-submitted script. That could be at a minimum the > return value, optionally the last ~1K of the stderr that is drained. This > information could then be communicated via {{errorMessage}} and {{ErrorCode}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (OOZIE-3405) SSH action shows empty error Message and Error code
[ https://issues.apache.org/jira/browse/OOZIE-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16724854#comment-16724854 ] Peter Orova commented on OOZIE-3405: For the {{errorCode}} we could write the exit code of the submitted user script into the {{.error}} file that is touched on failure. Any thoughts [~asalamon74], [~andras.piros]? > SSH action shows empty error Message and Error code > --- > > Key: OOZIE-3405 > URL: https://issues.apache.org/jira/browse/OOZIE-3405 > Project: Oozie > Issue Type: Improvement >Reporter: Peter Orova >Assignee: Peter Orova >Priority: Minor > > Currently, when an SSH action fails the only message that is returned is the > Status. Neither the {{error Message}} nor {{Error code}} fields are filled. > This makes reporting on the causes of SSH Action failures via Oozie highly > impractical: the only meaningful bit of information there is on a failed SSH > Action is the Status. > The Status is filled based on the presence (or lack of) the {{.error file}} > that is produced in case the user submitted script returns with any other > value than 0. > {noformat} > SshActionExecutor#getActionStatus > ... > String outFile = getRemoteFileName(context, action, "error", false, true); > String checkErrorCmd = SSH_COMMAND_BASE + action.getTrackerUri() + " ls " + > outFile; > int retVal = getReturnValue(checkErrorCmd); > ... > {noformat} > > User requirement is to provide some more detailed information on the > success/failure of the user-submitted script. That could be at a minimum the > return value, optionally the last ~1K of the stderr that is drained. This > information could then be communicated via {{errorMessage}} and {{ErrorCode}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)