Rushabh Shah created HBASE-24615:
------------------------------------
Summary: MutableRangeHistogram#updateSnapshotRangeMetrics doesn't
calculate the distribution for last bucket.
Key: HBASE-24615
URL: https://issues.apache.org/jira/browse/HBASE-24615
Project: HBase
Issue Type: Bug
Components: metrics
Affects Versions: 1.3.7
Reporter: Rushabh Shah
We are not processing the distribution for last bucket.
https://github.com/apache/hbase/blob/master/hbase-hadoop-compat/src/main/java/org/apache/hadoop/metrics2/lib/MutableRangeHistogram.java#L70
{code:java}
public void updateSnapshotRangeMetrics(MetricsRecordBuilder
metricsRecordBuilder,
Snapshot snapshot) {
long priorRange = 0;
long cumNum = 0;
final long[] ranges = getRanges();
final String rangeType = getRangeType();
for (int i = 0; i < ranges.length - 1; i++) { -----> The bug lies
here. We are not processing last bucket.
long val = snapshot.getCountAtOrBelow(ranges[i]);
if (val - cumNum > 0) {
metricsRecordBuilder.addCounter(
Interns.info(name + "_" + rangeType + "_" + priorRange + "-" +
ranges[i], desc),
val - cumNum);
}
priorRange = ranges[i];
cumNum = val;
}
long val = snapshot.getCount();
if (val - cumNum > 0) {
metricsRecordBuilder.addCounter(
Interns.info(name + "_" + rangeType + "_" + ranges[ranges.length - 1]
+ "-inf", desc),
val - cumNum);
}
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)