Hadoop Map/Reduce
  1. Hadoop Map/Reduce
  2. MAPREDUCE-3999

Tracking link gives an error if the AppMaster hasn't started yet

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.23.1
    • Fix Version/s: 0.23.3, 2.0.2-alpha
    • Component/s: mrv2, webapps
    • Labels:
      None

      Description

      Courtesy Siddharth Seth

      "The MRAppMaster died before writing anything."

      Steps to generate the error:
      1. Setup a queue with 1 max active application per user
      2. Submit a long running job to this queue.
      3. Submit another job to the queue as the same user. Access the tracking URL
      for job 2 directly or via Oozie (not via the RM link - which is rewritten once
      the app starts).

      This would exist in situations where the queue doesn't have enough capacity -
      or for the small period of time between app submission and AM start.

      1. MAPREDUCE-3999.patch
        2 kB
        Ravi Prakash
      2. MAPREDUCE-3999.patch
        2 kB
        Ravi Prakash
      3. MAPREDUCE-3999.patch
        2 kB
        Ravi Prakash

        Activity

        Hide
        Robert Joseph Evans added a comment -

        If the proxy can tell from the state of the application that the AM has not launched yet, we should return an appropriate page. Either way the error "the MRAppMaster died before writing anything" does not seem to be an appropriate error message in all cases that it is being returned for.

        Show
        Robert Joseph Evans added a comment - If the proxy can tell from the state of the application that the AM has not launched yet, we should return an appropriate page. Either way the error "the MRAppMaster died before writing anything" does not seem to be an appropriate error message in all cases that it is being returned for.
        Hide
        Ravi Prakash added a comment -

        This fixes the issue. Now I am checking the FinalApplicationStatus too to figure out if the AM has completed / hasn't started

        Show
        Ravi Prakash added a comment - This fixes the issue. Now I am checking the FinalApplicationStatus too to figure out if the AM has completed / hasn't started
        Hide
        Ravi Prakash added a comment -

        @Bobby: I'm still using the 404 response which I think is reasonable. Please let me know if that isn't ideal.

        Show
        Ravi Prakash added a comment - @Bobby: I'm still using the 404 response which I think is reasonable. Please let me know if that isn't ideal.
        Hide
        Ravi Prakash added a comment -

        Removing a stray logging statement =D

        Show
        Ravi Prakash added a comment - Removing a stray logging statement =D
        Hide
        Robert Joseph Evans added a comment -

        A few comments:

        • In the patch if the path is N/A and the status is SUCCEEDED the proxy will still try to load "N/A".
        • For some reason the proxy which is part of yarn, and not MR is returning an error message that is MR specific.

        Because we will always return a 404 error in this case, I would prefer to see something like

        if(applicationReport.getOriginalTrackingUrl().equals("N/A")) {
            String message;
            switch(applicationReport.getFinalApplicationStatus()) {
                case FAILED:
                case KILLED:
                case SUCCEEDED:
                    message = "The requested application exited before setting a tracking URL.";
                    break;
                case UNDEFINED:
                    message = "The requested application does not appear to be running yet, and has not set a tracking URL.";
                    break;
                default:
                    //This should never happen, but just to be safe
                    message = "The requested application has not set a tracking URL.";
                    break;
            }
            noFound(resp, message);
            return;
        }
        

        If you would prefer to throw an exception in the default case that would be good too.

        Show
        Robert Joseph Evans added a comment - A few comments: In the patch if the path is N/A and the status is SUCCEEDED the proxy will still try to load "N/A". For some reason the proxy which is part of yarn, and not MR is returning an error message that is MR specific. Because we will always return a 404 error in this case, I would prefer to see something like if (applicationReport.getOriginalTrackingUrl().equals( "N/A" )) { String message; switch (applicationReport.getFinalApplicationStatus()) { case FAILED: case KILLED: case SUCCEEDED: message = "The requested application exited before setting a tracking URL." ; break ; case UNDEFINED: message = "The requested application does not appear to be running yet, and has not set a tracking URL." ; break ; default : //This should never happen, but just to be safe message = "The requested application has not set a tracking URL." ; break ; } noFound(resp, message); return ; } If you would prefer to throw an exception in the default case that would be good too.
        Hide
        Ravi Prakash added a comment -

        Thanks for the review and comments Bobby!

        I haven't included an exception. Didn't seem it was warranted.

        Show
        Ravi Prakash added a comment - Thanks for the review and comments Bobby! I haven't included an exception. Didn't seem it was warranted.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12518087/MAPREDUCE-3999.patch
        against trunk revision .

        +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 new tests are needed for this patch.
        Also please list what manual steps were performed to verify 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 eclipse:eclipse. The patch built with eclipse:eclipse.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

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

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

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

        Test results: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2040//testReport/
        Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2040//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/12518087/MAPREDUCE-3999.patch against trunk revision . +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 new tests are needed for this patch. Also please list what manual steps were performed to verify 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 eclipse:eclipse. The patch built with eclipse:eclipse. +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed unit tests in . +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2040//testReport/ Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2040//console This message is automatically generated.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12518106/MAPREDUCE-3999.patch
        against trunk revision .

        +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 new tests are needed for this patch.
        Also please list what manual steps were performed to verify 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 eclipse:eclipse. The patch built with eclipse:eclipse.

        +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings.

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

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

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

        Test results: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2041//testReport/
        Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2041//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/12518106/MAPREDUCE-3999.patch against trunk revision . +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 new tests are needed for this patch. Also please list what manual steps were performed to verify 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 eclipse:eclipse. The patch built with eclipse:eclipse. +1 findbugs. The patch does not introduce any new Findbugs (version 1.3.9) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed unit tests in . +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2041//testReport/ Console output: https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/2041//console This message is automatically generated.
        Hide
        Robert Joseph Evans added a comment -

        Thanks Ravi,

        I just put this into trunk, branch-2, and branch-0.23

        Show
        Robert Joseph Evans added a comment - Thanks Ravi, I just put this into trunk, branch-2, and branch-0.23
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-trunk-Commit #2058 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Commit/2058/)
        MAPREDUCE-3999. Tracking link gives an error if the AppMaster hasn't started yet (Ravi Prakash via bobby) (Revision 1309108)

        Result = SUCCESS
        bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1309108
        Files :

        • /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-trunk-Commit #2058 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk-Commit/2058/ ) MAPREDUCE-3999 . Tracking link gives an error if the AppMaster hasn't started yet (Ravi Prakash via bobby) (Revision 1309108) Result = SUCCESS bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1309108 Files : /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Common-trunk-Commit #1983 (See https://builds.apache.org/job/Hadoop-Common-trunk-Commit/1983/)
        MAPREDUCE-3999. Tracking link gives an error if the AppMaster hasn't started yet (Ravi Prakash via bobby) (Revision 1309108)

        Result = SUCCESS
        bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1309108
        Files :

        • /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java
        Show
        Hudson added a comment - Integrated in Hadoop-Common-trunk-Commit #1983 (See https://builds.apache.org/job/Hadoop-Common-trunk-Commit/1983/ ) MAPREDUCE-3999 . Tracking link gives an error if the AppMaster hasn't started yet (Ravi Prakash via bobby) (Revision 1309108) Result = SUCCESS bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1309108 Files : /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Mapreduce-trunk-Commit #1996 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Commit/1996/)
        MAPREDUCE-3999. Tracking link gives an error if the AppMaster hasn't started yet (Ravi Prakash via bobby) (Revision 1309108)

        Result = SUCCESS
        bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1309108
        Files :

        • /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java
        Show
        Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk-Commit #1996 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Commit/1996/ ) MAPREDUCE-3999 . Tracking link gives an error if the AppMaster hasn't started yet (Ravi Prakash via bobby) (Revision 1309108) Result = SUCCESS bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1309108 Files : /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-0.23-Build #218 (See https://builds.apache.org/job/Hadoop-Hdfs-0.23-Build/218/)
        svn merge -c 1309108 from trunk. FIXES MAPREDUCE-3999. Tracking link gives an error if the AppMaster hasn't started yet (Ravi Prakash via bobby) (Revision 1309111)

        Result = SUCCESS
        bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1309111
        Files :

        • /hadoop/common/branches/branch-0.23/hadoop-mapreduce-project/CHANGES.txt
        • /hadoop/common/branches/branch-0.23/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-0.23-Build #218 (See https://builds.apache.org/job/Hadoop-Hdfs-0.23-Build/218/ ) svn merge -c 1309108 from trunk. FIXES MAPREDUCE-3999 . Tracking link gives an error if the AppMaster hasn't started yet (Ravi Prakash via bobby) (Revision 1309111) Result = SUCCESS bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1309111 Files : /hadoop/common/branches/branch-0.23/hadoop-mapreduce-project/CHANGES.txt /hadoop/common/branches/branch-0.23/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Hdfs-trunk #1005 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1005/)
        MAPREDUCE-3999. Tracking link gives an error if the AppMaster hasn't started yet (Ravi Prakash via bobby) (Revision 1309108)

        Result = FAILURE
        bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1309108
        Files :

        • /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java
        Show
        Hudson added a comment - Integrated in Hadoop-Hdfs-trunk #1005 (See https://builds.apache.org/job/Hadoop-Hdfs-trunk/1005/ ) MAPREDUCE-3999 . Tracking link gives an error if the AppMaster hasn't started yet (Ravi Prakash via bobby) (Revision 1309108) Result = FAILURE bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1309108 Files : /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Mapreduce-trunk #1040 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1040/)
        MAPREDUCE-3999. Tracking link gives an error if the AppMaster hasn't started yet (Ravi Prakash via bobby) (Revision 1309108)

        Result = FAILURE
        bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1309108
        Files :

        • /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt
        • /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java
        Show
        Hudson added a comment - Integrated in Hadoop-Mapreduce-trunk #1040 (See https://builds.apache.org/job/Hadoop-Mapreduce-trunk/1040/ ) MAPREDUCE-3999 . Tracking link gives an error if the AppMaster hasn't started yet (Ravi Prakash via bobby) (Revision 1309108) Result = FAILURE bobby : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1309108 Files : /hadoop/common/trunk/hadoop-mapreduce-project/CHANGES.txt /hadoop/common/trunk/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-web-proxy/src/main/java/org/apache/hadoop/yarn/server/webproxy/WebAppProxyServlet.java

          People

          • Assignee:
            Ravi Prakash
            Reporter:
            Ravi Prakash
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development