Hi

We have to use Cassandra with RF=2 (don't ask why...). There are two
datacenters (RF=2 in each datacenter). Also we use Astyanax as a client
library. In general we want to achieve strong consistency. Read performance
is important for us, that's why we perform writes with LOCAL_QUORUM and
reads with ONE. If one server is down, we automatically switch to
Writes.ONE, Reads.ONE only for that replica which has failed node (we
modified Astyanax to achieve that). When the server comes back, we turn
back Writes.LOCAL_QUORUM and Reads.ONE, but, of course, we see some
inconsistencies during the switching process and some time after (when
hinted handnoff works).

Basically I don't have any questions, just want to share our "ugly"
failover algorithm, to hear your criticism and may be advise on how to
improve it. Unfortunately we can't change replication factor and most of
the time we have to read with consistency level ONE (because we have strict
requirements on read performance).

Thank you!

Reply via email to