Hadoop Common
  1. Hadoop Common
  2. HADOOP-3379

Document the "stream.non.zero.exit.status.is.failure" knob for streaming

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 0.17.0
    • Fix Version/s: 0.18.0
    • Component/s: documentation
    • Labels:
      None
    • Hadoop Flags:
      Incompatible change, Reviewed
    • Release Note:
      Set default value for configuration property "stream.non.zero.exit.status.is.failure" to be "true".

      Description

      HADOOP-2057 added a useful feature: "stream.non.zero.exit.status.is.failure" to optionally treat non-zero exit code from streaming apps as fatal. We should document this on http://hadoop.apache.org/core/docs/current/streaming.html.

      1. patch-3379.txt
        3 kB
        Amareshwari Sriramadasu

        Activity

        Hide
        Hudson added a comment -
        Show
        Hudson added a comment - Integrated in Hadoop-trunk #520 (See http://hudson.zones.apache.org/hudson/job/Hadoop-trunk/520/ )
        Hide
        Devaraj Das added a comment -

        I just committed this. Thanks, Amareshwari!

        Show
        Devaraj Das added a comment - I just committed this. Thanks, Amareshwari!
        Hide
        Owen O'Malley added a comment -

        +1

        Show
        Owen O'Malley added a comment - +1
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12383731/patch-3379.txt
        against trunk revision 666056.

        +1 @author. The patch does not contain any @author tags.

        -1 tests included. The patch doesn't appear to include any new or modified tests.
        Please justify why no tests are needed for this patch.

        +1 javadoc. The javadoc tool did not generate any warning messages.

        +1 javac. The applied patch does not increase the total number of javac compiler warnings.

        +1 findbugs. The patch does not introduce any new Findbugs warnings.

        +1 release audit. The applied patch does not increase the total number of release audit warnings.

        +1 core tests. The patch passed core unit tests.

        +1 contrib tests. The patch passed contrib unit tests.

        Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2630/testReport/
        Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2630/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
        Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2630/artifact/trunk/build/test/checkstyle-errors.html
        Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2630/console

        This message is automatically generated.

        Show
        Hadoop QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12383731/patch-3379.txt against trunk revision 666056. +1 @author. The patch does not contain any @author tags. -1 tests included. The patch doesn't appear to include any new or modified tests. Please justify why no tests are needed for this patch. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2630/testReport/ Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2630/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2630/artifact/trunk/build/test/checkstyle-errors.html Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2630/console This message is automatically generated.
        Hide
        Amareshwari Sriramadasu added a comment -

        Actually the patch uploaded has the configuration property stream.non.zero.exit.is.failure value as true.

        If we want 'streaming always fail the task for non-zero exit codes', we can just remove the configuration property and document to wrap commands as Rick pointed. But doesn't this make applications incompatible from 0.17 to 0.18 ? Shouldnt we deprecate the configuration property for 0.18?
        Thoughts?

        I think making the configuration property stream.non.zero.exit.is.failure value as true makes sense.

        Show
        Amareshwari Sriramadasu added a comment - Actually the patch uploaded has the configuration property stream.non.zero.exit.is.failure value as true . If we want 'streaming always fail the task for non-zero exit codes', we can just remove the configuration property and document to wrap commands as Rick pointed. But doesn't this make applications incompatible from 0.17 to 0.18 ? Shouldnt we deprecate the configuration property for 0.18? Thoughts? I think making the configuration property stream.non.zero.exit.is.failure value as true makes sense.
        Hide
        Devaraj Das added a comment -

        I think you should document the fact that people have to wrap the command in some cases as Rick pointed out.

        Show
        Devaraj Das added a comment - I think you should document the fact that people have to wrap the command in some cases as Rick pointed out.
        Hide
        Amareshwari Sriramadasu added a comment -

        Here is patch doing the following:
        1. Makes default value for stream.non.zero.exit.is.failure as true . Thus by default, streaming tasks exiting with non-zero exit status are considered to be failed tasks.
        2. Adds the documentation to streaming.xml.

        Show
        Amareshwari Sriramadasu added a comment - Here is patch doing the following: 1. Makes default value for stream.non.zero.exit.is.failure as true . Thus by default, streaming tasks exiting with non-zero exit status are considered to be failed tasks. 2. Adds the documentation to streaming.xml.
        Hide
        Rick Cox added a comment -

        It seems reasonable for the default to be true, as I think the discussion has shown users expect it.

        Making it non-optional would remove the ability to run 'grep' and similar commands without a wrapper (assuming the pattern is not in every input split). Perhaps that's ok; we could just document a hint to wrap such commands in a shell script that always exits 0.

        Show
        Rick Cox added a comment - It seems reasonable for the default to be true, as I think the discussion has shown users expect it. Making it non-optional would remove the ability to run 'grep' and similar commands without a wrapper (assuming the pattern is not in every input split). Perhaps that's ok; we could just document a hint to wrap such commands in a shell script that always exits 0.
        Hide
        Amareshwari Sriramadasu added a comment -

        I wonder if we should just make streaming always fail the task for non-zero exit codes.

        +1

        Show
        Amareshwari Sriramadasu added a comment - I wonder if we should just make streaming always fail the task for non-zero exit codes. +1
        Hide
        Owen O'Malley added a comment -

        I wonder if we should just make streaming always fail the task for non-zero exit codes.

        Show
        Owen O'Malley added a comment - I wonder if we should just make streaming always fail the task for non-zero exit codes.

          People

          • Assignee:
            Amareshwari Sriramadasu
            Reporter:
            Arun C Murthy
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development