Hadoop Common
  1. Hadoop Common
  2. HADOOP-7351

Regression: HttpServer#getWebAppsPath used to be protected so subclasses could supply alternate webapps path but it was made private by HADOOP-6461

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.22.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      It USED to be protected rather than private but its access was changed by HADOOP-6461. It did the following:

      -  protected String getWebAppsPath() throws IOException {
      -    URL url = getClass().getClassLoader().getResource("webapps");
      +  private String getWebAppsPath(String appName) throws FileNotFoundException {
      +    URL url = getClass().getClassLoader().getResource("webapps/" + appName);
      ...
      

      HBase subclasses HttpServer providing its UI. This change makes it so we can no longer do so.

      This change made it into 0.21. I'd like to get a fix committed to 0.22 as well as TRUNK.

      1. 7351.txt
        0.8 kB
        stack

        Activity

        Hide
        stack added a comment -

        Patch that does this:

        -  private String getWebAppsPath(String appName) throws FileNotFoundException {
        +  protected String getWebAppsPath(String appName) throws FileNotFoundException {
        

        only.

        Show
        stack added a comment - Patch that does this: - private String getWebAppsPath( String appName) throws FileNotFoundException { + protected String getWebAppsPath( String appName) throws FileNotFoundException { only.
        Hide
        Hadoop QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12481198/7351.txt
        against trunk revision 1129989.

        +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 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 core unit tests.

        +1 system test framework. The patch passed system test framework compile.

        Test results: https://builds.apache.org/hudson/job/PreCommit-HADOOP-Build/559//testReport/
        Findbugs warnings: https://builds.apache.org/hudson/job/PreCommit-HADOOP-Build/559//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
        Console output: https://builds.apache.org/hudson/job/PreCommit-HADOOP-Build/559//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/12481198/7351.txt against trunk revision 1129989. +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 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 core unit tests. +1 system test framework. The patch passed system test framework compile. Test results: https://builds.apache.org/hudson/job/PreCommit-HADOOP-Build/559//testReport/ Findbugs warnings: https://builds.apache.org/hudson/job/PreCommit-HADOOP-Build/559//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/hudson/job/PreCommit-HADOOP-Build/559//console This message is automatically generated.
        Hide
        Todd Lipcon added a comment -

        We should figure out what the intended interface audience and classification is for HttpServer... I'm thinking:
        @InterfaceAudience.LimitedPrivate(

        {"HDFS", "MapReduce", "HBase"}

        )
        @InterfaceStability.Evolving

        does that sound right?

        Show
        Todd Lipcon added a comment - We should figure out what the intended interface audience and classification is for HttpServer... I'm thinking: @InterfaceAudience.LimitedPrivate( {"HDFS", "MapReduce", "HBase"} ) @InterfaceStability.Evolving does that sound right?
        Hide
        stack added a comment -

        Sounds fine to me. Want me to add this to patch?

        Show
        stack added a comment - Sounds fine to me. Want me to add this to patch?
        Hide
        stack added a comment -

        Though, Todd, your suggestions are a little out of scope for this JIRA? Should I do annotations in new issue?

        Show
        stack added a comment - Though, Todd, your suggestions are a little out of scope for this JIRA? Should I do annotations in new issue?
        Hide
        Todd Lipcon added a comment -

        Yea, other issue is fine. +1 for this issue, but let's try to get the annotations in 0.22 as well. Maintaining APIs that allow subclassing by other projects is tough.

        Show
        Todd Lipcon added a comment - Yea, other issue is fine. +1 for this issue, but let's try to get the annotations in 0.22 as well. Maintaining APIs that allow subclassing by other projects is tough.
        Hide
        stack added a comment -

        Added HADOOP-7355 to add annotations.

        Show
        stack added a comment - Added HADOOP-7355 to add annotations.
        Hide
        stack added a comment -

        Committed to 0.22 branch and to TRUNK. Thanks for review Todd.

        This small change makes it so HBase does not have to redo how it does its UI when it runs against hadoop 0.22; we subclass HttpServer so we can have the 'log level', 'thread dump', etc., servlets available in HBase UI.

        Show
        stack added a comment - Committed to 0.22 branch and to TRUNK. Thanks for review Todd. This small change makes it so HBase does not have to redo how it does its UI when it runs against hadoop 0.22; we subclass HttpServer so we can have the 'log level', 'thread dump', etc., servlets available in HBase UI.
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Common-trunk-Commit #633 (See https://builds.apache.org/hudson/job/Hadoop-Common-trunk-Commit/633/)
        HADOOP-7351 Regression: HttpServer#getWebAppsPath used to be protected so subclasses could supply alternate webapps path but it was made private by HADOOP-6461

        stack : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1130730
        Files :

        • /hadoop/common/trunk/src/java/org/apache/hadoop/http/HttpServer.java
        • /hadoop/common/trunk/CHANGES.txt
        Show
        Hudson added a comment - Integrated in Hadoop-Common-trunk-Commit #633 (See https://builds.apache.org/hudson/job/Hadoop-Common-trunk-Commit/633/ ) HADOOP-7351 Regression: HttpServer#getWebAppsPath used to be protected so subclasses could supply alternate webapps path but it was made private by HADOOP-6461 stack : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1130730 Files : /hadoop/common/trunk/src/java/org/apache/hadoop/http/HttpServer.java /hadoop/common/trunk/CHANGES.txt
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Common-trunk-Commit #634 (See https://builds.apache.org/hudson/job/Hadoop-Common-trunk-Commit/634/)
        HADOOP-7351 Regression: HttpServer#getWebAppsPath used to be protected so subclasses could supply alternate webapps path but it was made private by HADOOP-6461 – Fix commit message; I'd put it in wrong location under 'new features' rather than under 'bugs'

        stack : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1130738
        Files :

        • /hadoop/common/trunk/CHANGES.txt
        Show
        Hudson added a comment - Integrated in Hadoop-Common-trunk-Commit #634 (See https://builds.apache.org/hudson/job/Hadoop-Common-trunk-Commit/634/ ) HADOOP-7351 Regression: HttpServer#getWebAppsPath used to be protected so subclasses could supply alternate webapps path but it was made private by HADOOP-6461 – Fix commit message; I'd put it in wrong location under 'new features' rather than under 'bugs' stack : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1130738 Files : /hadoop/common/trunk/CHANGES.txt
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Common-22-branch #61 (See https://builds.apache.org/hudson/job/Hadoop-Common-22-branch/61/)
        HADOOP-7351 Regression: HttpServer#getWebAppsPath used to be protected so subclasses could supply alternate webapps path but it was made private by HADOOP-6461

        stack : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1130740
        Files :

        • /hadoop/common/branches/branch-0.22/src/java/org/apache/hadoop/http/HttpServer.java
        • /hadoop/common/branches/branch-0.22/CHANGES.txt
        Show
        Hudson added a comment - Integrated in Hadoop-Common-22-branch #61 (See https://builds.apache.org/hudson/job/Hadoop-Common-22-branch/61/ ) HADOOP-7351 Regression: HttpServer#getWebAppsPath used to be protected so subclasses could supply alternate webapps path but it was made private by HADOOP-6461 stack : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1130740 Files : /hadoop/common/branches/branch-0.22/src/java/org/apache/hadoop/http/HttpServer.java /hadoop/common/branches/branch-0.22/CHANGES.txt
        Hide
        Hudson added a comment -

        Integrated in Hadoop-Common-trunk #708 (See https://builds.apache.org/hudson/job/Hadoop-Common-trunk/708/)
        HADOOP-7351 Regression: HttpServer#getWebAppsPath used to be protected so subclasses could supply alternate webapps path but it was made private by HADOOP-6461 – Fix commit message; I'd put it in wrong location under 'new features' rather than under 'bugs'
        HADOOP-7351 Regression: HttpServer#getWebAppsPath used to be protected so subclasses could supply alternate webapps path but it was made private by HADOOP-6461

        stack : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1130738
        Files :

        • /hadoop/common/trunk/CHANGES.txt

        stack : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1130730
        Files :

        • /hadoop/common/trunk/src/java/org/apache/hadoop/http/HttpServer.java
        • /hadoop/common/trunk/CHANGES.txt
        Show
        Hudson added a comment - Integrated in Hadoop-Common-trunk #708 (See https://builds.apache.org/hudson/job/Hadoop-Common-trunk/708/ ) HADOOP-7351 Regression: HttpServer#getWebAppsPath used to be protected so subclasses could supply alternate webapps path but it was made private by HADOOP-6461 – Fix commit message; I'd put it in wrong location under 'new features' rather than under 'bugs' HADOOP-7351 Regression: HttpServer#getWebAppsPath used to be protected so subclasses could supply alternate webapps path but it was made private by HADOOP-6461 stack : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1130738 Files : /hadoop/common/trunk/CHANGES.txt stack : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1130730 Files : /hadoop/common/trunk/src/java/org/apache/hadoop/http/HttpServer.java /hadoop/common/trunk/CHANGES.txt

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development