Thanks J-D.  I'm interested in learning how HBase handles MVCC - do you know of 
any resources explaining?  I have data streaming into hbase around 6 million 
records a day, and I'm scanning the tables pretty much constantly with 
mapreduce jobs that rollup and store the data elsewhere.  So I want to 
understand better exactly which rows are present in a given scan. 

If I create a scan that reads an entire region, I would expect a "read 
committed" level to lock that region during the read (which might take a few 
minutes).    So what happens to the rows that are inserted during the scan? 

AZ


On Apr 25, 2013, at 4:34 PM, Jean-Daniel Cryans <[email protected]> wrote:

> Inline.
> 
> J-D
> 
> 
> On Thu, Apr 25, 2013 at 1:09 PM, Aaron Zimmerman <
> [email protected]> wrote:
> 
>> Hi,
>> 
>>  If a region is being written to, and a scanner takes a lease out on the
>> region, what will happen to the writes?  Is there a concept of "Transaction
>> Isolation Levels"?
>> 
> 
> There's MVCC, so reads can happen while someone else is writing. What you
> should expect from HBase is "read committed".
> 
> 
>> 
>>  I don't see errors in Puts while the tables are being scanned?  But it
>> seems that I'm losing writes somewhere, is it possible the writes could
>> fail silently?
>> 
> 
> Is it temporary while you're scanning or there's really data missing at
> the end of the day? The former might happen on some older HBase versions
> while the latter should never happen unless you lower the durability level
> yourself and have machine failures.
> 
> J-D

Reply via email to