Dev Hingu created HBASE-29738:
---------------------------------
Summary: [PROPOSAL] Migrating HBase to JPMS
Key: HBASE-29738
URL: https://issues.apache.org/jira/browse/HBASE-29738
Project: HBase
Issue Type: Brainstorming
Reporter: Dev Hingu
*Context*
The goal of this task is to initiate the migration of the HBase codebase to the
*Java Platform Module System (JPMS)* introduced in Java 9.
*Motivation*
**
Currently, HBase runs entirely on the classpath. Migrating to the module path
will provide:
# *Strong Encapsulation:* Better hiding of internal APIs to prevent access of
Internal APIs to public usages.
# *Explicit dependenies:* JPMS forces to define dependencies explicitely in
module-info.java, detecting missing dependencies in compile time rather than
run time.
# *Modernization:* Aligning with the broader Java ecosystem which is moving
towards strict modularity.
*Proposal*
I am attaching a [proposal
doc|https://docs.google.com/document/d/1h7NxFDSCL5mxu7WWRnzUwAF-G4yRXhWflM-H_OHC4D4/edit?usp=sharing]
that talks about benefits, drawbacks and challenges for migration.
Our starting point for the whole migration is hbase-client and I've also
estimated efforts and challenges for migrating hbase-client to JPMS.
Please review the attached document. I look forward to the community's feedback.
The scope of this ticket is to outline efforts, design and direction of the
migration task.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)