hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8763) [BRAINSTORM] Combine MVCC and SeqId
Date Sat, 10 May 2014 22:08:25 GMT

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

stack commented on HBASE-8763:
------------------------------

This changes with hbase-11109:

{code}
+          flushSeqId = this.sequenceId.incrementAndGet();
+        } else {
+          // use the provided sequence Id as WAL is not being used for this flush.
+          flushSeqId = myseqid;
....

{code}

... but that is fine.  Let 11109 worry about it.

I'm not sure I'm clear on what could be rolled back out of memstore around flush.  Or, can
there be more doc on how mvcc and sequence id are interacting here?  For those who come after
us?

This should be called sequenceId: +    MutableLong seqNumber = new MutableLong();

A left shift would be better? +    return beginMemstoreInsert(curSeqNum + 1000000000);

Did a quick skim.  Early- vs late-binding would change this patch?

Is the best write up on how this is going to work going forward what is above in this issue?
 Thanks [~jeffreyz]


> [BRAINSTORM] Combine MVCC and SeqId
> -----------------------------------
>
>                 Key: HBASE-8763
>                 URL: https://issues.apache.org/jira/browse/HBASE-8763
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>            Reporter: Enis Soztutar
>            Assignee: Jeffrey Zhong
>            Priority: Critical
>         Attachments: hbase-8736-poc.patch, hbase-8763-poc-v1.patch, hbase-8763-v1.patch,
hbase-8763_wip1.patch
>
>
> HBASE-8701 and a lot of recent issues include good discussions about mvcc + seqId semantics.
It seems that having mvcc and the seqId complicates the comparator semantics a lot in regards
to flush + WAL replay + compactions + delete markers and out of order puts. 
> Thinking more about it I don't think we need a MVCC write number which is different than
the seqId. We can keep the MVCC semantics, read point and smallest read points intact, but
combine mvcc write number and seqId. This will allow cleaner semantics + implementation +
smaller data files. 
> We can do some brainstorming for 0.98. We still have to verify that this would be semantically
correct, it should be so by my current understanding.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message