Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-12932

[0.98] Change the interface annotation of HConnection from Public/Stable to Public/Evolving

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 0.98.10
    • None
    • None

    Description

      See the tail of HBASE-12859. Lars wants to add methods to HConnection. I suggest not because HConnection has Public/Stable annotation. Enis then says:

      We do not differentiate or explicitly document this, but my understanding of most of our InterfaceAudience.Public is for consumption, not for extending or implementing interfaces (except for some coprocessor cases). So I think we should be free to add new methods in Admin, Connection, etc in minor versions. I would say that in patch versions we should not do such changes.
      Maybe we can do a base classes as a convenience, but still with no guarantees.

      to which I reply:

      Shrug. So the Public/Stable annotation just means "keep this interface around, don't worry about changes that will break an implementor?" . Then what would Public/Evolving (or Unstable) mean as difference? Do we have what the annotations mean documented somewhere? This point didn't come up in a review when I backported client pushback, so now we have StatisticsHConnection. If it's ok to add methods to HConnection I would like to sink the 0.98.10 RC that has this change and fix it with a new patch/issue.

      I'm not sure what others think, but if we change the annotation of HConnection to Public/Evolving then it would make sense to allow methods to be added.

      I will open a subtask of this issue to nuke StatisticsHConnection if/once the annotation is changed. I would also sink the current 0.98.10 RC that has StatisticsHConnection in it so it never sees the light of day.

      Attachments

        1. HBASE-12932-0.98.patch
          0.7 kB
          Andrew Kyle Purtell

        Activity

          People

            apurtell Andrew Kyle Purtell
            apurtell Andrew Kyle Purtell
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: