Lars Hofhansl created HBASE-6603:
------------------------------------
Summary: RegionMetricsStorage.incrNumericMetric is called too often
Key: HBASE-6603
URL: https://issues.apache.org/jira/browse/HBASE-6603
Project: HBase
Issue Type: Bug
Components: performance
Reporter: Lars Hofhansl
Assignee: Lars Hofhansl
Fix For: 0.96.0, 0.94.2
Running an HBase scan load through the profiler revealed that
RegionMetricsStorage.incrNumericMetric is called way too often.
It turns out that we make this call for *each* KV in StoreScanner.next(...).
Incrementing AtomicLong requires expensive memory barriers.
The observation here is that StoreScanner.next(...) can maintain a simple
long in its internal loop and only update the metric upon exit. Thus the
AtomicLong is not updated nearly as often.
That cuts about 10% runtime from scan only load (I'll quantify this better
soon).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira