Details
-
Umbrella
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
None
-
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
Attachments
Issue Links
- is blocked by
-
HBASE-12106 Move test annotations to test artifact
- Closed
- is related to
-
HBASE-12567 Track remaining issues for HBase-1.0
- Closed
-
HBASE-10856 Prep for 1.0
- Closed
- relates to
-
HBASE-12107 Add lint for hbase-annotations being used.
- Closed
-
HADOOP-10374 InterfaceAudience annotations should have RetentionPolicy.RUNTIME
- Closed
-
HADOOP-10383 InterfaceStability annotations should have RetentionPolicy.RUNTIME
- Closed
-
HBASE-18766 Make TableSnapshotScanner Audience Private
- Resolved
- supercedes
-
HBASE-12107 Add lint for hbase-annotations being used.
- Closed