[ 
https://issues.apache.org/jira/browse/HBASE-4050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13411891#comment-13411891
 ] 

Elliott Clark commented on HBASE-4050:
--------------------------------------

http://docs.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html  
ServiceLoaders seem like the exact thing that we would need.

hbase-hadoop1 -- Hadoop 1 implementations including the metrics providers
hbase-hadoop2 -- Hadoop 2 implementations including the metrics providers
hbase-server would then get one of the two above implementations


Most things are pretty easy.  The assembly action is a little bit more 
difficult but I think I can get that.  My first question is should the 
interfaces for the shim classes be in hbase-common or should they go into a new 
module (hbase-hadoop-compat ? )

Making a hbase-hadoop-compat module has the nice property of keeping the module 
dependency structure flat. (Please forgive the bad ascii art that follows)

{code}
hbase-(hadoop1|hadoop2) ----> hbase-hadoop-compat-----\
                                                       |
                                                       |
hbase-common --------------------------------------> hbase-server
{code}


otherwise we would have:

{code}
hadoop-common ------> hbase-compat -> hbase-(hadoop1|hadoop2) -----\
 |                                                                  |
 |                                                                  |
 +---------------------------------------------------------------> hbase-server
{code}


Thoughts ?


                
> Update HBase metrics framework to metrics2 framework
> ----------------------------------------------------
>
>                 Key: HBASE-4050
>                 URL: https://issues.apache.org/jira/browse/HBASE-4050
>             Project: HBase
>          Issue Type: New Feature
>          Components: metrics
>    Affects Versions: 0.90.4
>         Environment: Java 6
>            Reporter: Eric Yang
>            Assignee: Alex Baranau
>            Priority: Critical
>             Fix For: 0.96.0
>
>         Attachments: 4050-metrics-v2.patch, 4050-metrics-v3.patch, 
> HBASE-4050.patch
>
>
> Metrics Framework has been marked deprecated in Hadoop 0.20.203+ and 0.22+, 
> and it might get removed in future Hadoop release.  Hence, HBase needs to 
> revise the dependency of MetricsContext to use Metrics2 framework.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to