hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (HBASE-14460) [Perf Regression] Merge of MVCC and SequenceId (HBASE-8763) slowed Increments, CheckAndPuts, batch operations
Date Mon, 08 Feb 2016 18:47:40 GMT

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

stack resolved HBASE-14460.
---------------------------
       Resolution: Fixed
    Fix Version/s: 1.0.4
                   1.1.4
                   1.2.1
                   1.3.0
                   2.0.0
     Release Note: 
This release note tries to tell the general story. Dive into sub-tasks for more specific release
noting.

Increments, appends, checkAnd* have been slow since hbase-.1.0.0. The unification of mvcc
and sequence id done by HBASE-8763 was responsible.

A ‘fast-path’ workaround was added by HBASE-15031 “Fix merge of MVCC and SequenceID
performance regression in branch-1.0 for Increments”. It became available in 1.0.3 and 1.1.3.
To enable the fast path, set "hbase.increment.fast.but.narrow.consistency" and then rolling
restart. The workaround was for increments only (appends, checkAndPut, etc., were not addressed.
See HBASE-15031 release note for more detail).

Subsequently, the regression was properly identified and fixed in HBASE-15213 and the fix
applied to branch-1.0 and branch-1.1. As it happens, hbase-1.2.0 does not suffer from the
performance regression (though the thought was that it did -- and so it got the fast-path
patch too via HBASE-15092) nor does the master branch. HBASE-15213 identified that HBASE-12751
(as a side effect) had cured the regression.

hbase-1.0.4 (if it is ever released -- 1.0 has been end-of-lifed) and hbase-1.1.4 will have
the HBASE-15213 fix.  If you are suffering from the increment regression and you are on 1.0.3
or 1.1.3, you can enable the work around to get back your increment performance but you should
upgrade.

  was:Regression addressed narrowly on branch-1 (1.0.3+, 1.1.3+, and 1.2.0). You need to set
a  "hbase.increment.fast.but.narrow.consistency" and rolling restart to enable a 'fast path'
for increments only (appends, checkAndPut, etc., are not address in branch-1). See the sub-task
release notes for more detail. On master branch, a more substantial change is done changing
write path so all check-and-put type operations -- i.e. increment, append, checkAnd*, etc.
-- have the regression addressed.


> [Perf Regression] Merge of MVCC and SequenceId (HBASE-8763) slowed Increments, CheckAndPuts,
batch operations
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-14460
>                 URL: https://issues.apache.org/jira/browse/HBASE-14460
>             Project: HBase
>          Issue Type: Bug
>          Components: Performance
>            Reporter: stack
>            Assignee: stack
>            Priority: Critical
>             Fix For: 2.0.0, 1.3.0, 1.2.1, 1.1.4, 1.0.4
>
>         Attachments: 0.94.test.patch, 0.98.test.patch, 1.0.80.flamegraph-7932.svg, 14460.txt,
14460.v0.branch-1.0.patch, 98.80.flamegraph-11428.svg, HBASE-14460-discussion.patch, client.test.patch,
flamegraph-13120.svg.master.singlecell.svg, flamegraph-26636.094.100.svg, flamegraph-28066.098.singlecell.svg,
flamegraph-28767.098.100.svg, flamegraph-31647.master.100.svg, flamegraph-9466.094.singlecell.svg,
hack.flamegraph-16593.svg, hack.uncommitted.patch, m.test.patch, region_lock.png, testincrement.094.patch,
testincrement.098.patch, testincrement.master.patch
>
>
> As reported by 鈴木俊裕 up on the mailing list -- see "Performance degradation between
CDH5.3.1(HBase0.98.6) and CDH5.4.5(HBase1.0.0)" -- our unification of sequenceid and MVCC
slows Increments (and other ops) as the mvcc needs to 'catch up' to our current point before
we can read the last Increment value that we need to update.
> We can say that our Increment is just done wrong, we should just be writing Increments
and summing on read, but checkAndPut as well as batching operations have the same issue. Fix.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message