[
https://issues.apache.org/jira/browse/HBASE-29738?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dev Hingu updated HBASE-29738:
------------------------------
Description:
*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.
was:
*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.
> [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
> Priority: Major
>
> *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)