Thanks J-D for the pointer. I read that before but I wanted to know how it's actually implemented. I met developers for another distributed NOSQL store yesterday in Tokyo, and wanted to compare HBase's implementation against it.
I read the source codes further and now I know upsert uses row level read-lock since it won't keep the older version of the KV. https://github.com/apache/hbase/blob/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java#L487 Thanks, Tatsuya 2011/2/16 Jean-Daniel Cryans <[email protected]>: > For this there's also http://hbase.apache.org/acid-semantics.html > > J-D > > On Tue, Feb 15, 2011 at 4:58 PM, Tatsuya Kawano <[email protected]> wrote: >> >> Thanks Stack. >> >>> A bunch of our wiki has gone stale. I've been moving pages to an >>> obsolete section and marking pages themselves obosolete with pointers >>> to the new definitive location for the info. >> >> This is fine to me. >> >> I was wondering how HBase guarantees row-level atomicity for read (Get / >> Scan) and I thought the diagram could help me to figure out. (I remember I >> saw the diagram a year ago.) Then, now I read the source codes and found >> the answer. MemStoreScanner provides the row-level atomicity for read by not >> using read-lock but the read point timestamp. >> >> https://github.com/apache/hbase/blob/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/MemStore.java#L677 >> >> Thanks, >> Tatsuya >> >> >> >> On 02/15/2011, at 11:53 PM, Stack wrote: >> >>> I don't have a copy and the images do not seem to be in google cache either. >>> >>> Locking has changed pretty radically since (and it sounds like its >>> going to change again soon). I'm going to mark the page obsolete. >>> >>> A bunch of our wiki has gone stale. I've been moving pages to an >>> obsolete section and marking pages themselves obosolete with pointers >>> to the new definitive location for the info. Should we be doing >>> something different? >>> >>> Thanks, >>> St.Ack >>> >>> >>> On Mon, Feb 14, 2011 at 9:22 PM, Tatsuya Kawano <[email protected]> >>> wrote: >>>> Hi, >>>> >>>> It looks like this wiki page has missing diagrams. >>>> http://wiki.apache.org/hadoop/Hbase/HRSLocking >>>> >>>> Both "lockcompatibility.jpg" and "lock-sequencing.jpg" are missing. >>>> Does anybody have a backup of them? >>>> >>>> Thanks, >>>> >>>> -- >>>> Tatsuya Kawano >>>> Tokyo, Japan >>>> >>>> twitter: http://twitter.com/tatsuya6502
