Hi Mohit, the best way to study this is to look at MultiVersionConsistencyControl.java (since you are asking how this handled internally).
In a nutshell this ensures that read operations don't see writes that are not completed, by (1) defining a thread read point that is rolled forward only after a completed operations and (2) assigning a special timestamp (not the timestamp that you set from the client API) to all KeyValues. -- Lars ----- Original Message ----- From: Mohit Anchlia <[email protected]> To: [email protected] Cc: Sent: Thursday, December 1, 2011 2:22 PM Subject: Atomicity questions I have some questions about ACID after reading this page, http://hbase.apache.org/acid-semantics.html - Atomicity point 5 : row must either be "a=1,b=1,c=1" or "a=2,b=2,c=2" and must not be something like "a=1,b=2,c=1". How is this internally handled in hbase such that above is possible?
