On Sep 07, lars hofhansl wrote: >Hi Arvind, > >This is interesting: > >> * Multiple machines can concurrently/actively handle requests for the >> same key, so the loss of one server does not mean that a range of keys >> is temporarily unavailable. A hbase cluster does have a partial, >> temporary outage when a region server dies. Things don't get back to >> normal immediately even when a new server takes over since not all >> region data may now be local disk reads. Even if they are, it won't be >> readily waiting for you in fast memory. > >How does it deal with the write path? > >If multiple machines can serve reads for the same set of values you either >need >(1) to have them synchronized (some 2pc/paxus-like consensus) or >(2) read from multiple machines to get consensus or >(3) synchronously write to multiple machines or
A write call does not return the status until all replicas (configurable replication factor) have processed the write. It also looks like there is a write master of sorts involved for a given key/range. More on this here: http://www.citrusleaf.net/_docs/Architecture_Overview.pdf This is about as much detail as I go into since I don't have an accurate recollection of more details and even if I did, I might not be in a position to talk about what is not in public domain. >(4) accept temporary inconsistencies
