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)

Reply via email to