hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Elliott Clark <ecl...@apache.org>
Subject Re: [DISCUSS] Merge hbase-metrics:oahh.metrics.impl into hbase-metrics-api
Date Wed, 25 Oct 2017 15:51:58 GMT
That issue renamed a bunch of what used to be there only for
hbase-hadoop-compat. HBASE-6405 is the start of the chain.

Currently though I don't see any reason for them to be in separate modules
unless we think hadoop will make another breaking change to the metrics
classes.


On Tue, Oct 24, 2017 at 7:38 PM, Apekshit Sharma <appy@cloudera.com> wrote:

> Hey Elliott, good to see you around :)
>
> Btw, this is new stuff added in HBASE-9774 which was committed to only 2.0.
> Made it to 1.4 too later (HBASE-18060).
>
> -- Appy
>
> On Tue, Oct 24, 2017 at 4:16 PM, Elliott Clark <eclark@apache.org> wrote:
>
> > The weird module dance with reflection came from needing to extend inner
> > hadoop classes on multiple different versions. This was back when HBase
> had
> > to support hadoop < 1, hadoop 1.x, and hadoop 2.x. When we dropped older
> > hadoop versions then things got easier.
> >
> > On Tue, Oct 24, 2017 at 3:09 PM, Apekshit Sharma <appy@cloudera.com>
> > wrote:
> >
> > > Hi
> > >
> > > Am confused why do we have this weird circular dependency between the
> two
> > > modules: hbase-metrics-api & hbase-metrics. And since maven doesn't
> allow
> > > it explicitly, this was tucked and hidden by using reflection?
> > >
> > > MetricRegistriesImpl[hbase-metrics] implements
> > > MetricRegistries[hbase-metrics-api].
> > > MetricRegistriesLoader[hbase-metrics-api] depends on this
> > implementation,
> > > MetricRegistriesImpl, because it instantiates it via reflection
> > > <https://github.com/apache/hbase/blob/eee3b0180ead73c09b33f9583bfee9
> > > c01bc3aed2/hbase-metrics-api/src/main/java/org/apache/
> > > hadoop/hbase/metrics/MetricRegistriesLoader.java#L39>
> > > [1].
> > >
> > > Can we just move all interfaces and default implementation together
> into
> > > single module. But i like the idea of keeping implementations in
> separate
> > > package with "impl" explicitly in package name.
> > >
> > > [1]
> > > https://github.com/apache/hbase/blob/eee3b0180ead73c09b33f9583bfee9
> > > c01bc3aed2/hbase-metrics-api/src/main/java/org/apache/
> > > hadoop/hbase/metrics/MetricRegistriesLoader.java#L39
> > >
> > > -- Appy
> > >
> >
>
>
>
> --
>
> -- Appy
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message