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)