ramkrishna.s.vasudevan created HBASE-25191:
----------------------------------------------
Summary: JVMMetrics tag.processName regression between hbase1.3
and hbase-2+ versions
Key: HBASE-25191
URL: https://issues.apache.org/jira/browse/HBASE-25191
Project: HBase
Issue Type: Bug
Affects Versions: 2.0.1
Reporter: ramkrishna.s.vasudevan
Assignee: ramkrishna.s.vasudevan
The regression is caused by
https://issues.apache.org/jira/browse/HBASE-15160.
In order to monitor the FS latencies and pread latencies we have added the
MetricsIO as part of metrics. Since we account this at the HFileBlock layer, we
have created a static MetricIO variable at HFile.java so that we can use that
metrics in a static way.
Internally the MEtricIO creates a MetricsIOWrapperImpl that in turns registers
the metrics with the BaseSource. The flow is as follows,
{code}
this(CompatibilitySingletonFactory.getInstance(MetricsRegionServerSourceFactory.class)
.createIO(wrapper), wrapper);
{code}
The createIO -> inturn creates a MetricsIOSourceImpl where the Metrics_Name is
'IO'.
The BaseSourceImpl registers a singleton JVMMetrics
{code}
synchronized void init(String name) {
.......
DefaultMetricsSystem.initialize(HBASE_METRICS_SYSTEM_NAME);
JvmMetrics.initSingleton(name, "");
........
}
{code}
The name passed here is 'IO'. This is where the processName gets set with 'IO'.
All other metrics that we create in the HRS and master is not static level
metrics whereas all are instance level metrics. So the very first time we
create either Master metrics or Region server metrics so then the metrics would
have had the processName as either RegionServer or master.
But pls note am note very sure on this now like if at all are we creating a
metric based on the actual process name like it was during the hbase-1.x time.
In other words my doubt is even if we solve this 'IO' process case do we really
get back the processName as 'Master' or 'RegionServer' as in
https://issues.apache.org/jira/browse/HBASE-12328.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)