Marton Elek created HDDS-3101:
---------------------------------
Summary: Make hdds-common independent from hdfs-common and
Configuration free
Key: HDDS-3101
URL: https://issues.apache.org/jira/browse/HDDS-3101
Project: Hadoop Distributed Data Store
Issue Type: Improvement
Reporter: Marton Elek
Assignee: Marton Elek
To make it possible to create different client jars compiled with different
version of Hadoop we need clear and Hadoop independent hdds-common (and
hdds-client) projects.
(For more details about the motivation, check this design doc:
https://lists.apache.org/thread.html/rd0ea00f958368e888db1947eb71e514fb977df0b7baaad928ac50e94%40%3Cozone-dev.hadoop.apache.org%3E)
Our current blocker is the usage of `org.apache.hadoop.conf.Configuration`.
Configuration class is a heavyweight object from hadoop-common which introduce
a lot of unnecessary dependencies. It also violates multiple [OOP
principles|https://en.wikipedia.org/wiki/SOLID], for example the *Dependency
inversion principle*.
To make our components more independent I propose to depend on a lightweight
ConfigurationSource interface which includes all the required getXXX methods.
OzoneConfiguration can implement that interface (and with older Hadoop we can
create direct adapters).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]