Description
When we originally converted the build to maven we had a single "core" module defined, but later reverted this to a module-less build for the sake of simplicity.
It now looks like it's time to re-address this, as we have an actual need for modules to:
- provide a trimmed down "client" library that applications can make use of
- more cleanly support building against different versions of Hadoop, in place of some of the reflection machinations currently required
- incorporate the secure RPC engine that depends on some secure Hadoop classes
I propose we start simply by refactoring into two initial modules:
- core - common classes and utilities, and client-side code and interfaces
- server - master and region server implementations and supporting code
This would also lay the groundwork for incorporating the HBase security features that have been developed. Once the module structure is in place, security-related features could then be incorporated into a third module – "security" – after normal review and approval. The security module could then depend on secure Hadoop, without modifying the dependencies of the rest of the HBase code.
Attachments
Attachments
Issue Links
- blocks
-
HBASE-6087 Add hbase-common module
- Closed
- depends upon
-
HBASE-5976 Initial module naming
- Closed
- is depended upon by
-
HBASE-5977 Usage of modules
- Closed
- is related to
-
GIRAPH-346 Top Level POM
- Resolved
-
HBASE-4438 Speed the build test phase
- Closed
-
HBASE-4602 Make the suite run in at least half the time
- Closed
- relates to
-
HBASE-4676 Prefix Compression - Trie data block encoding
- Closed
-
HBASE-5341 Push the security 0.92 profile to maven repo
- Closed