Whether we support 2 (actually more than 2) metrics frameworks in 0.96 can
be debated in the next 2 months.
I'm not sure I agree that deprecating without having something in
place for users to move to makes sense.
As Todd mentioned in the thread 'HBase 0.94.1', we will try our best to
keep JMX interface the same across 0.94 and 0.96. Does this somehow reduce
the concern you raised ?
I think that maintaining consistency with the existing JMX naming
conventions (to the extent possible) is important for operational
concerns, but it's independent of the MetricsContext question and the
question of whether other metrics classes of our own need a proper
deprecation cycle.
As for using MetricsContext, I assume the user also uses hadoop in his /
her deployment. Then he / she should be aware of the deprecation of
metrics.* classes in both hadoop 1.0 and 2.0
Meaning he / she should be prepared to endorse metrics2 framework.
Hadoop deprecating metrics in favor of metrics2 is independent of us
deprecating HBase metrics classes. TimeStampingFileContext is one
MetricsContext implementation in HBase that would need to be
deprecated and could be used or possibly extended by current users.
Ultimately it's up to Lars H as RM for 0.94 to decide what he wants to
include. It just feels to me like we're rushing to deprecate metrics
in 0.94 so that it can be removed in 0.96, instead of what seems to me
like the more standard path of deprecating metrics in 0.96, while also
including new metrics2 implementations, which would give users a
smoother path to actually switch over. I'm just not sure I understand
the motivation for deprecating in 0.94 instead of 0.96.