Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for 
change notification.

The "HintedHandoff" page has been changed by JonathanEllis.
http://wiki.apache.org/cassandra/HintedHandoff

--------------------------------------------------

New page:
Cassandra provides hinted handoff as a way to (a) provide extreme write 
availability when consistency is not required and (b) to reduce the time 
required for a temporarily failed node to become consistent again with live 
ones.

Hinted handoff means that if a node that should receive a write is down, 
Cassandra will send that write to another node with a "hint" saying that when 
the destination node becomes available again, the write should be forwarded 
there.

A hinted write is NOT sufficient to satify !ConsistencyLevel requirements.  
Take the simple example of a cluster of two nodes, A and B, and a replication 
factor of 1 (each key is stored on one node).  Suppose node A is down while we 
write key K to it with !ConsistencyLevel.ONE.  Then we must fail the write: 
recall from the [[API]] page that "if `W` + `R` > `ReplicationFactor`, where W 
is the number of nodes to block for on write, and R the number to block for on 
reads, you will have strongly consistent behavior; that is, readers will always 
see the most recent write."

Thus if we write a hint to B and call the write good because it is written 
"somewhere," there is no way to read the data at any !ConsistencyLevel until A 
comes back up and B forwards the data to him, and only the lowest 
!ConsistencyLevel of ZERO will accept writes in this situation.

Reply via email to