Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      There are a lot of deprecated methods in HttpServer. They are not used anymore. They should be removed.

        Issue Links

          Activity

          Haohui Mai created issue -
          Haohui Mai made changes -
          Field Original Value New Value
          Link This issue is related to HBASE-10336 [ HBASE-10336 ]
          Hide
          Andrew Purtell added a comment -

          Have you checked if downstream projects are using them?

          Show
          Andrew Purtell added a comment - Have you checked if downstream projects are using them?
          Hide
          Andrew Wang added a comment -

          Echoing Andrew Purtell, there are a lot of downstreams using HttpServer. Even if these methods were deprecated in 1.x, it seems kind of nasty to remove them in a 2.x release after 2.2 GA.

          Show
          Andrew Wang added a comment - Echoing Andrew Purtell , there are a lot of downstreams using HttpServer. Even if these methods were deprecated in 1.x, it seems kind of nasty to remove them in a 2.x release after 2.2 GA.
          Hide
          stack added a comment -

          Why not remove in 3.x?

          Show
          stack added a comment - Why not remove in 3.x?
          Hide
          Haohui Mai added a comment -

          According to HBASE-10336, the deprecated methods will stay in the 2.4 release. The methods will be removed in the next release.

          Show
          Haohui Mai added a comment - According to HBASE-10336 , the deprecated methods will stay in the 2.4 release. The methods will be removed in the next release.
          Hide
          Andrew Purtell added a comment -

          The methods will be removed in the next release.

          If you mean 2.5, then you will have only moved the problem for HBase 0.96.x and HBase 0.98.x to 2.5. Surely other downstreams will be affected also.

          Show
          Andrew Purtell added a comment - The methods will be removed in the next release. If you mean 2.5, then you will have only moved the problem for HBase 0.96.x and HBase 0.98.x to 2.5. Surely other downstreams will be affected also.
          Hide
          Andrew Wang added a comment -

          I feel like we can't do this change in a 2.x. For 3.x it's fine, but as all the HBasers are saying, it's clearly backwards incompatible with earlier 2.x releases.

          Show
          Andrew Wang added a comment - I feel like we can't do this change in a 2.x. For 3.x it's fine, but as all the HBasers are saying, it's clearly backwards incompatible with earlier 2.x releases.
          Hide
          Haohui Mai added a comment -

          This is exactly the situation that we want to avoid – HttpServer is a private API and it should not support any downstream uses.

          The only downstream user of this class is HBase. Once HBASE-10336 is landed, you should be clear to upgrade.

          Show
          Haohui Mai added a comment - This is exactly the situation that we want to avoid – HttpServer is a private API and it should not support any downstream uses. The only downstream user of this class is HBase. Once HBASE-10336 is landed, you should be clear to upgrade.
          Hide
          Andrew Purtell added a comment -

          My read of HBASE-10336 is the change there will be committed to HBase trunk, but not to the 0.96 and 0.98 release branches. For those releases, we will need to add a disclaimer they will not work with Hadoop 2.X where X is wherever the backwards compatibility is broken on the Hadoop 2.x release line.

          Show
          Andrew Purtell added a comment - My read of HBASE-10336 is the change there will be committed to HBase trunk, but not to the 0.96 and 0.98 release branches. For those releases, we will need to add a disclaimer they will not work with Hadoop 2.X where X is wherever the backwards compatibility is broken on the Hadoop 2.x release line.
          Hide
          Andrew Purtell added a comment -

          This is exactly the situation that we want to avoid – HttpServer is a private API and it should not support any downstream uses.

          I went and reviewed the code in question, and I don't understand this statement. This is the interface annotation for HttpServer on HEAD of Hadoop common branch-2:

          @InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce", "HBase"})
          @InterfaceStability.Evolving
          public class HttpServer implements FilterContainer {
          
          Show
          Andrew Purtell added a comment - This is exactly the situation that we want to avoid – HttpServer is a private API and it should not support any downstream uses. I went and reviewed the code in question, and I don't understand this statement. This is the interface annotation for HttpServer on HEAD of Hadoop common branch-2: @InterfaceAudience.LimitedPrivate({"HDFS", "MapReduce", "HBase"}) @InterfaceStability.Evolving public class HttpServer implements FilterContainer {
          Hide
          stack added a comment -

          Haohui Mai "...HttpServer is a private API and it should not support any downstream uses."

          Go easy. The above is all well and good as some sort of general statement only there is the caveat that Andrew Purtell quotes you above (and which was quoted to you a few days ago over in HADOOP-10232).

          I believe the hope was that those listed in the LimitedPrivate set would get notice if the class was to change radically. Notice noted. We are moving to get off this Interface now – a patch will go in in the next few days and we'll soon enough have a release out with the patch in it – but please do not remove these methods just yet and make it so releases we have in the field now fail when our users would like to go to apache 2.5/2.6, etc. Thanks.

          Show
          stack added a comment - Haohui Mai "...HttpServer is a private API and it should not support any downstream uses." Go easy. The above is all well and good as some sort of general statement only there is the caveat that Andrew Purtell quotes you above (and which was quoted to you a few days ago over in HADOOP-10232 ). I believe the hope was that those listed in the LimitedPrivate set would get notice if the class was to change radically. Notice noted. We are moving to get off this Interface now – a patch will go in in the next few days and we'll soon enough have a release out with the patch in it – but please do not remove these methods just yet and make it so releases we have in the field now fail when our users would like to go to apache 2.5/2.6, etc. Thanks.
          Hide
          Suresh Srinivas added a comment -

          HttpServer is a private API and it should not support any downstream uses.

          Haohui Mai, given that this class is marked as LimitedPrivate this class cannot be removed or made private. ,The interface is marked as evolving, so incompatible changes should be allowed. However, I suggest just making a copy of this HttpServer (HttpServer2?) for internal use in HDFS and MapReduce, with cleaner code and leave HttpServer class alone. At some point in time when HBase folks are ready, they can copy this to their project and we can delete this from Hadoop, possibly in 3.0.

          Show
          Suresh Srinivas added a comment - HttpServer is a private API and it should not support any downstream uses. Haohui Mai , given that this class is marked as LimitedPrivate this class cannot be removed or made private. ,The interface is marked as evolving, so incompatible changes should be allowed. However, I suggest just making a copy of this HttpServer (HttpServer2?) for internal use in HDFS and MapReduce, with cleaner code and leave HttpServer class alone. At some point in time when HBase folks are ready, they can copy this to their project and we can delete this from Hadoop, possibly in 3.0.
          Hide
          Jimmy Xiang added a comment -

          +1 to make a copy of this HttpServer and bring the original HttpServer back.

          Show
          Jimmy Xiang added a comment - +1 to make a copy of this HttpServer and bring the original HttpServer back.
          Jimmy Xiang made changes -
          Link This issue is related to HADOOP-10254 [ HADOOP-10254 ]
          Hide
          Jimmy Xiang added a comment -

          Haohui Mai, the patch for HADOOP-10254, is kind of undo part of HDFS-5545, so it is about the same as the original version. Is that not an option?

          Show
          Jimmy Xiang added a comment - Haohui Mai , the patch for HADOOP-10254 , is kind of undo part of HDFS-5545 , so it is about the same as the original version. Is that not an option?
          Hide
          Jimmy Xiang added a comment -

          Is the end effect kind of the same as Suresh Srinivas suggested?

          Show
          Jimmy Xiang added a comment - Is the end effect kind of the same as Suresh Srinivas suggested?
          Hide
          stack added a comment -

          Suresh Srinivas Thanks for the helpful suggestion. We're letting go of this dependency in our trunk. We can't just do it 'now' in existing releases w/o frustrating our users. Thanks.

          Show
          stack added a comment - Suresh Srinivas Thanks for the helpful suggestion. We're letting go of this dependency in our trunk. We can't just do it 'now' in existing releases w/o frustrating our users. Thanks.
          Hide
          Haohui Mai added a comment -

          According to the discussion in HADOOP-10255. HttpServer is reserved for HBase's use. Marking this jira as won't fix.

          Show
          Haohui Mai added a comment - According to the discussion in HADOOP-10255 . HttpServer is reserved for HBase's use. Marking this jira as won't fix.
          Haohui Mai made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Won't Fix [ 2 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Resolved Resolved
          5d 12h 20m 1 Haohui Mai 28/Jan/14 07:32

            People

            • Assignee:
              Unassigned
              Reporter:
              Haohui Mai
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development