[ 
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)

Reply via email to