[
https://issues.apache.org/jira/browse/HBASE-14460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15061801#comment-15061801
]
ramkrishna.s.vasudevan edited comment on HBASE-14460 at 12/17/15 9:43 AM:
--------------------------------------------------------------------------
One question on the patch
-> thread T1 tries to do a put on a row with val 50
-> Another threads T2 tries to do a checkAndPut(say from 10 to 11)
-> The put has updated the value in memstore and yet to sync to WAL
-> The T2 does a Get with 'UN_COMMITTED' isolation level so it will be able to
see the updated val 50 in the memstore.
-> The thread T1 fails in sync and hence roll back.
-> thread T2 cannot do the updation since the val is already 50?
So neither Put nor Increment happened? May be am missing something.
was (Author: ram_krish):
One question on the patch
-> thread T1 tries to do a put on a row with val 50
-> Another threads T2 tries to do a checkAndPut(say from 10 to 11)
-> The put has updated the value in memstore and yet to sync to WAL
-> The T2 does a Get with 'UN_COMMITTED' isolation level so it will be able to
see the updated val 50 in the memstore.
-> The thread T1 fails in sync and hence roll back.
-> thread T2 cannot do the updation since the val is already 50?
So neither Put or Increment happened?
> [Perf Regression] Merge of MVCC and SequenceId (HBASE-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
> Attachments: 0.94.test.patch, 0.98.test.patch,
> 1.0.80.flamegraph-7932.svg, 14460.txt, 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)