Enis Soztutar created HBASE-10462:
-------------------------------------

             Summary: 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: Bug
          Components: Client
            Reporter: Enis Soztutar
            Assignee: Enis Soztutar
            Priority: Blocker
             Fix For: 1.0.0


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
(v6.1.5#6160)

Reply via email to