[ https://issues.apache.org/jira/browse/HBASE-19207?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16254026#comment-16254026 ]
Rick Kellogg edited comment on HBASE-19207 at 11/16/17 2:56 PM: ---------------------------------------------------------------- Attempted break out client code from hbase-rest project. Required contents: org.apache.hadoop.hbase.rest: * Constants - Only need MIMETYPE_PROTOBUF constant * ProtobufMessageHandler org.apache.hadoop.hbase.rest.client: * Entire package needed - no changes org.apache.hadoop.hbase.rest.model: * Entire package needed * VersionModel - move logic in constructor using ServletContext into calling method to break dependency on Servlet API + Protocol buffers The ScannerModel class includes references to many HBase Client APIs such as Scan. This is not really problematic since it is used by the Table interface and both are declared InterfaceAudience.Public. It would be nice to dump the Client API dependency on Google Protocol Buffers but the Table coprocessor methods use them as part of their public API as well. As such they cannot really be shaded and maintain the same package names to the client consumer. was (Author: rkellogg): Attempted break out client code from hbase-rest project. Required contents: org.apache.hadoop.hbase.rest: Constants - Only need MIMETYPE_PROTOBUF constant ProtobufMessageHandler org.apache.hadoop.hbase.rest.client: Entire package needed - no changes org.apache.hadoop.hbase.rest.model: Entire package needed VersionModel - move logic in constructor using ServletContext into calling method to break dependency on Servlet API + Protocol buffers The ScannerModel class includes references to many HBase Client APIs such as Scan. This is not really problematic since it is used by the Table interface and both are declared InterfaceAudience.Public. It would be nice to dump the Client API dependency on Google Protocol Buffers but the Table coprocessor methods use them as part of their public API as well. As such they cannot really be shaded and maintain the same package names to the client consumer. > Create Minimal HBase REST Client > -------------------------------- > > Key: HBASE-19207 > URL: https://issues.apache.org/jira/browse/HBASE-19207 > Project: HBase > Issue Type: New Feature > Components: Client, REST > Reporter: Rick Kellogg > > Create a minimal REST client with only contents of > org.apache.hadoop.hbase.rest.client and > org.apache.hadoop.hbase.rest.client.models packages in the hbase-rest > project. > Attempt to reduce the number of third party dependencies and allow user to > bring their own Apache HttpClient/Core. The HttpClient is frequently updated > and therefore should not be shaded to allow for upgrades. -- This message was sent by Atlassian JIRA (v6.4.14#64029)