I think this is a laudable goal, so please proceed, but note:

> There is no clear separation of client and server components.

The REST client code, as such, is meant just to debug the server
components, and is used by unit tests, and is not meant as any kind of
"official" REST client, and this explains why there has been no such care
taken. We've talked before about moving these classes from src/main/ to
src/test/ and that should have been done to avoid this kind of confusion.




On Tue, Nov 14, 2017 at 2:58 PM, Rick Kellogg <rmkell...@comcast.net> wrote:

> Greetings,
>
>
>
> About a week ago, I opened a new JIRA ticket [HBASE-19207] - Create a
> Minimal HBase REST Client.  As I started to study the feasibility of this
> task, I determined the project dependencies were a hornets nest.  There is
> no clear separation of client and server components.  For example the
> VersionModel class relies upon the javax.servlet.ServletContext class for
> construction on the server.  There are many other examples of blurred
> boundaries.
>
>
>
> I initially tried to break out the client specific files plus protocol
> buffer related files in the hbase-rest project.  This lead me to believe we
> could create a clear separation of client and server components.  The
> trouble started on how to provide access to classes such as Cell or Scan
> from the hbase-client.  Using the hbase-shaded-client seems to be a
> solution
> but far from ideal.  This failed as well because of complications with
> shading.  The protocol buffer related stuff was generated twice.  Once in
> my
> project and already in the hbase-shaded-client.
>
>
>
> So as an interim solution, I would like to suggest the introduction of a
> Apache Maven Bill-of-Materials (BOM) for access to the HBase REST Client.
> I
> have created a BOM for 2.0.0-alpha4 on Github for comment:
>
>
>
> https://github.com/rmkellogg/hbase-rest-client-ex
>
>
>
> Using the BOM feature, I was able to reduce the number of dependencies from
> 146 to 21.
>
>
>
> I think we could allow some flexibility for upgrade to common libraries
> (Guava, Apache HttpComponents, etc) using this technique.
>
>
>
> Thoughts and comments appreciated.
>
> Rick Kellogg
>
>
>
>


-- 
Best regards,
Andrew

Words like orphans lost among the crosstalk, meaning torn from truth's
decrepit hands
   - A23, Crosstalk

Reply via email to