You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Chia-Ping Tsai (JIRA)" <ji...@apache.org> on 2017/09/22 17:50:00 UTC

[jira] [Updated] (HBASE-18847) Remove unneeded synchronized block from hfilev2 warning in branch-1.2

     [ https://issues.apache.org/jira/browse/HBASE-18847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Chia-Ping Tsai updated HBASE-18847:
-----------------------------------
    Summary: Remove unneeded synchronized block from hfilev2 warning in branch-1.2  (was: remove unneeded synchronized block from hfilev2 warning in branch-1.2)

> Remove unneeded synchronized block from hfilev2 warning in branch-1.2
> ---------------------------------------------------------------------
>
>                 Key: HBASE-18847
>                 URL: https://issues.apache.org/jira/browse/HBASE-18847
>             Project: HBase
>          Issue Type: Bug
>          Components: Performance
>    Affects Versions: 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6
>            Reporter: Rich Howarth
>            Assignee: Rich Howarth
>            Priority: Critical
>             Fix For: 1.2.7
>
>         Attachments: HBASE-18847-branch-1.2-00.patch
>
>
> The below code block starts at line 277 of HFileWriterV2.java. Class-level synchronization in a heavily used code path has a demonstrably significant negative effect on performance. I tested forcing a major compaction with 18 compaction threads per node; removing the synchronization resulted in an order of magnitude performance increase, with the bottleneck then being at the disks (where I want it to be).
> {code:java}
>     synchronized (HFileWriterV2.class) {
>       if (WARN_CELL_WITH_TAGS && getFileContext().isIncludesTags()) {
>         LOG.warn("A minimum HFile version of " + HFile.MIN_FORMAT_VERSION_WITH_TAGS
>           + " is required to support cell attributes/tags. Consider setting "
>           + HFile.FORMAT_VERSION_KEY + " accordingly.");
>         WARN_CELL_WITH_TAGS = false;
>       }
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)