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)

Reply via email to