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

Recategorize some of the client facing Public / Private interfaces

    XMLWordPrintableJSON

    Details

    • Type: Umbrella
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0-alpha-3, 2.0.0
    • Component/s: Client
    • Labels:
      None

      Description

      We should go over the list of InterfaceAudience.Public interfaces one more to remove those that are NOT indeed public interfaces.

      From current trunk, we should change these from public to private:

      ReversedScannerCallable
      ReversedClientScanner
      ClientScanner  (note that ResultScanner is public interface, while ClientScanner should not be) 
      ClientSmallScanner
      TableSnapshotScanner -> We need a way of constructing this since it cannot be constructed from HConnection / HTable. Maybe a basic factory. 
      

      These are not marked:

      Registry, 
      ZooKeeperRegistry
      RpcRetryingCallerFactory
      ZooKeeperKeepAliveConnection
      AsyncProcess
      DelegatingRetryingCallable
      HConnectionKey
      MasterKeepAliveConnection
      MultiServerCallable
      

      We can think about making these public interface:

      ScanMetrics
      

      Add javadoc to:

      Query
      

      We can add a test to find out all classes in client package to check for interface mark.

      We can extend this to brainstorm on the preferred API options. We probably want the clients to use HTableInterface, instead of HTable everywhere. HConnectionManager comes with bazillion methods which are not intended for public use, etc.

      Raising this as blocker to 1.0

        Attachments

        1. hbase-10462_wip1.patch
          8 kB
          Enis Soztutar

          Issue Links

            Activity

              People

              • Assignee:
                enis Enis Soztutar
                Reporter:
                enis Enis Soztutar
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: