Thanks Donald,

What I was missing is that the cells are stored in increasing order of  
rowkey (sorting delete (0x02) above insert (0xff)), but the timestamp  
is stored in big endian ones complement (sorting the most recent  
timestamp first). So the correct order in the case I described below is:

>> row+col op flag timestamp

>> FOO     0x02         1
>> FOO     0xff            2
>> FOO     0xff            0


-Sanjit

On Oct 29, 2008, at 7:21 PM, Liu Kejia (Donald) wrote:

>
> Hi Sanjit,
>
> Your guess is mostly correct.
>
> As far as I know, the cells in cellstores / cell caches are ordered by
> row key (null terminated string) + column id (8-bit int)+ column
> qualifier (string) + flag (8bit int) + (~ revision) (64-bit int).
>
> Donald
>
> On Wed, Oct 29, 2008 at 1:52 AM, Sanjit Jhala <[EMAIL PROTECTED]>  
> wrote:
>>
>> Hi,
>>
>> I had a question on the order in which cells are stored. Consider the
>> following example:
>> row+col qualifier+col = FOO
>> We have two insertions at time t=0 and t=2 and a delete at time t=1.
>> As I understand it, the cells will be seen by a MergeScanner in the
>> following order:
>>
>> row+col op flag timestamp
>> FOO     0xff            2
>> FOO     0xff            0
>> FOO     0x02    1
>>
>> Is this correct? It seems to me that the MergeScanner should see the
>> delete before it sees the insert at time 0 to keep the MergeScanner
>> code simple.
>>
>> Thanks,
>> Sanjit
>>
>>>
>>
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Hypertable Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/hypertable-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to