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 -~----------~----~----~----~------~----~------~--~---
