Hello,

*Context for discussion*:

These classes were recently relocated from "src/main" to "src/test" under
HBASE-24115, aligning with the original contributor's initial intention of
using them only for testing. Therefore, I'm raising this in an email to
initiate discussion with the updated information.

At Cloudera, we've noticed a growing adoption of HBase in cloud
environments. This shift has highlighted concerns regarding network
connectivity requirements between clients and HBase regionservers,
particularly for remote clients. To address these concerns, we are looking
to utilize standard web protocols such as HTTP. These protocols enable
easier integration with various cloud services by providing a single
endpoint for access and simplifying networking needs. As a result, more
users are interested in using REST servers to meet their requirements.
Istvan has put considerable effort into testing and improving the
performance of REST servers, as seen in JIRAs like HBASE-28646,
HBASE-28613, HBASE-28626, and HBASE-28556 to achieve this target.

*Issue*:

However, Users with applications currently using the Java client are
encountering challenges in transitioning to REST due to the significant
code rewriting required. By implementing the Admin and Table interfaces, we
can enable these users to migrate to REST with minimal adjustments.

*Other Protocol Implementations with Java Public APIs: *
Similar interfaces have recently been developed for Thrift under
HBASE-21661.

*Proposed Changes:* Currently, Istvan focuses on addressing the performance
and security aspects of these implementations, with efforts like
HBASE-28540 and rewriting Rest Client to support different authentication
options, etc. via HBASE-28501,HBASE-28649, and HBASE-28500, which
significantly strengthened the implementation. Hence, we want to go ahead
and move this implementation back to "src/main".

Please inform us of any concerns you may have, otherwise, we would like to
proceed with the PR.


Regards,

Ankit Singhal

Reply via email to