You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2018/04/03 20:10:00 UTC

[jira] [Updated] (HBASE-10462) Recategorize some of the client facing Public / Private interfaces

     [ https://issues.apache.org/jira/browse/HBASE-10462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-10462:
--------------------------
    Issue Type: Umbrella  (was: Bug)

> Recategorize some of the client facing Public / Private interfaces
> ------------------------------------------------------------------
>
>                 Key: HBASE-10462
>                 URL: https://issues.apache.org/jira/browse/HBASE-10462
>             Project: HBase
>          Issue Type: Umbrella
>          Components: Client
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>            Priority: Blocker
>             Fix For: 2.0.0-alpha-3, 2.0.0
>
>         Attachments: hbase-10462_wip1.patch
>
>
> 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: 
> {code}
> 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. 
> {code}
> These are not marked: 
> {code}
> Registry, 
> ZooKeeperRegistry
> RpcRetryingCallerFactory
> ZooKeeperKeepAliveConnection
> AsyncProcess
> DelegatingRetryingCallable
> HConnectionKey
> MasterKeepAliveConnection
> MultiServerCallable
> {code}
> We can think about making these public interface: 
> {code}
> ScanMetrics
> {code}
> Add javadoc to: 
> {code}
> Query
> {code}
> 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



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)