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

Jeffrey Zhong updated HBASE-11315:
----------------------------------

    Attachment: hbase-11315-v1.patch

Found a pre-existing issue before checkin. The issue is that we don't persist 
mvcc value of KVs in WALEdit. Therefore, after recovery, mvcc values are lost.

In the v1 patch, I added support to preserve MVCC(now called SeqId) of KVs 
after recovery. In addition, I rename mvcc to seqId per [~enis] suggestion. 

The v1 patch has passed the whole test suit locally. If there is no objection, 
I'll commit the v1 at the evening of Sunday. Thanks.

> Keeping MVCC for configurable longer time 
> ------------------------------------------
>
>                 Key: HBASE-11315
>                 URL: https://issues.apache.org/jira/browse/HBASE-11315
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.99.0
>            Reporter: Jeffrey Zhong
>            Assignee: Jeffrey Zhong
>         Attachments: hbase-11315-v1.patch, hbase-11315.patch
>
>
> After hbase-8763, we need keep mvcc number longer in hfile so that it can be 
> used to order changes during writes. For example, the known 
> put,delete,put,... scenario, cross region server scan, out of order puts(in 
> recovery case).
> Current thinking is that we make the retention period configurable(below 
> we're using 1 day to explain). During major compaction, we check hfile's 
> creation time if a hfile creation time is older than 1 day then all mvcc of 
> KVs in that hfile will be removed. If a hfile is created within 1 day, then 
> all mvccs of KVs in that hfile will be kept. 
> In case there are time clock skew, we can firstly sort hfiles based on its 
> seqId in ascending order and find the first hfile's creation time stamp less 
> than 1 day. Then mvcc of all hfiles before the found file will be removed 
> during compaction. 



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

Reply via email to