> I read the logic of why writes are not allowed. But other alternative is to > allow write and just fail the reads until it's in sync again. Is there some > other problem with this logic?
The problem lies in "until it's in sync again". A given node cannot easily know for a given read, whether "everything is in sync" with respect to the data participating in that read. I didn't think about it very carefully, but off the top of my head, in the most general case this would seem to require strong co-ordination that is antithetical to the design of Cassandra. (Consider that for a read of a set of columns, for each column the node would have to know whether the nodes participating in the read have any hints pending in the cluster. Since the co-ordinating node cannot know the context in which the call is made (maybe the client or some other client *just* wrote at quorom with nodes down), this essentially implies co-ordination on every read, at all times.) -- / Peter Schuller