hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yu Li (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17482) mvcc mechanism failed when using mvccPreAssign
Date Wed, 18 Jan 2017 07:44:26 GMT

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

Yu Li commented on HBASE-17482:

Nice catch [~allan163], +1 on the fix.

Just one minor comment, that since the UT case is not that straight forward, mind adding some
javadoc for it, or at least add a link to the this JIRA?

Some clarification for the UT design I could think of (please correct me if I state anything
After binding mvcc with sequence id, we will get cell's mvcc through {{Cell#getSequenceId}}
method, and will compare the mvcc with read point in either {{SegmentScanner#updateCurrent}}
(master branch) or {{ScanQueryMatcher#match}} (branch-1) to make sure of read-write concurrency
control. And if we append cell into Memstore before its sequence id got stamped, scan will
see the data it shouldn't have seen. And the UT case reproduces this scenario.

> mvcc mechanism failed when using mvccPreAssign
> ----------------------------------------------
>                 Key: HBASE-17482
>                 URL: https://issues.apache.org/jira/browse/HBASE-17482
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.0..
>            Reporter: Allan Yang
>            Assignee: Allan Yang
>            Priority: Critical
>         Attachments: HBASE-17482.patch, HBASE-17482.v2.patch
> If mvccPreAssign and ASYNC_WAL is used, then cells may have been commited to memstore
before append thread can stamp seqid to them. The unit test shows everything.

This message was sent by Atlassian JIRA

View raw message