hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeffrey Zhong (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-8763) [BRAINSTORM] Combine MVCC and SeqId
Date Fri, 16 May 2014 11:11:17 GMT

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

Jeffrey Zhong updated HBASE-8763:
---------------------------------

    Attachment: hbase-8763-v2.patch

Full test suite passed locally. TestAcidGuarantees passed 10 times in one loop.

[~saint.ack@gmail.com] I've moved the sequenceId wait for assignment from ring buffer consumer
to rpc handlers. Hopefully we can restore the performance.

After mvcc & log sequence combining, one idea I come up today is that we can introduce
a client read flushed changes only mode. 

In this mode, a client only read changes are flushed. During recovery we can set its scanner
read point to last flushed sequence id while the region is still under recovery. The total
recovery time for those clients are failure detection time + region assignment time.

I also attached a write up on this JIRA.
 

> [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 MVCC & LogSeqId Combined.pdf, hbase-8736-poc.patch, hbase-8763-poc-v1.patch,
hbase-8763-v1.patch, hbase-8763-v2.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