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

Amitanand Aiyer updated HBASE-4344:
-----------------------------------

    Attachment: patch-2

There are three parts to the changes made here:
 
The first one is in the write path, while writing the HFile (V2). We include 
the memstoreTS along with the other information already written during the 
KeyValue.

We maintain and append to the file info the maximum memstoreTS found among all 
the key-values written to the disk. The presence of this information in the 
file info represents the fact that the Key-values written to the HFile is in 
the new format that includes the memstoreTS.

Part 2: The reader is modified accordingly to see if the file info suggests the 
presence of the memstoreTS or not. If it does, then we also read the memstoreTS 
while preparing the KeyValues in the reader.

Part 3: On Region open/initialize, we need to ensure that the RWCC is 
initialized with a value bigger than the max of any value found in the 
storeFiles. this is necessary to ensure that the writes in the storefiles are 
seen by future reads.

> Persist memstoreTS to disk
> --------------------------
>
>                 Key: HBASE-4344
>                 URL: https://issues.apache.org/jira/browse/HBASE-4344
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Amitanand Aiyer
>            Assignee: Amitanand Aiyer
>             Fix For: 0.89.20100924
>
>         Attachments: patch-2
>
>
> Atomicity can be achieved in two ways -- (i) by using  a multiversion 
> concurrency system (MVCC), or (ii) by ensuring that "new" writes do not 
> complete, until the "old" reads complete.
> Currently, Memstore uses something along the lines of MVCC (called RWCC for 
> read-write-consistency-control). But, this mechanism is not incorporated for 
> the key-values written to the disk, as they do not include the memstore TS.
> Let us make the two approaches be similar, by persisting the memstoreTS along 
> with the key-value when it is written to the disk.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to