hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-14205) RegionCoprocessorHost System.nanoTime() performance bottleneck
Date Thu, 24 Sep 2015 22:34:05 GMT

    [ https://issues.apache.org/jira/browse/HBASE-14205?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14907164#comment-14907164

Hudson commented on HBASE-14205:

SUCCESS: Integrated in HBase-1.3-IT #178 (See [https://builds.apache.org/job/HBase-1.3-IT/178/])
HBASE-14205 RegionCoprocessorHost System.nanoTime() performance bottleneck (apurtell: rev
* hbase-hadoop2-compat/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionSourceImpl.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.java
* hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapper.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperStub.java
* hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionSourceImpl.java
* hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.jamon

> RegionCoprocessorHost System.nanoTime() performance bottleneck
> --------------------------------------------------------------
>                 Key: HBASE-14205
>                 URL: https://issues.apache.org/jira/browse/HBASE-14205
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Jan Van Besien
>            Assignee: Andrew Purtell
>            Priority: Critical
>             Fix For: 2.0.0, 1.2.0, 1.3.0
>         Attachments: HBASE-14205.patch
> The tracking of execution time of coprocessor methods introduced in HBASE-11516 introduces
2 calls to System.nanoTime() per coprocessor method per coprocessor. This is resulting in
a serious performance bottleneck in certain scenarios.
> For example consider the scenario where many rows are being ingested (PUT) in a table
which has multiple coprocessors (we have up to 20 coprocessors). This results in 8 extra calls
to System.nanoTime() per coprocessor (prePut, postPut, postStartRegionOperation and postCloseRegionOperation)
which has in total (i.e. times 20) been seen to result in a 50% increase of execution time.
> I think it is generally considered bad practice to measure execution times on such a
small scale (per single operation). Also note that measurements are taken even for coprocessors
that do not even have an actual implementation for certain operations, making the problem

This message was sent by Atlassian JIRA

View raw message