News for hackers. Stuff that matters.
Re:Cassandra is not row level consistent by convolvatron on Thursday November 24, 2016 @07:34PM (#13033712)
cassandra never claimed to be a consistent distributed database. its really quite sad that someone had to find that out the hard way.
Re:Cassandra is not row level consistent by pkolaczk on Friday November 25, 2016 @07:10AM (#13036146)
It is optionally consistent if you know how to use it and you know its limitations. Their use of Cassandra was obviously wrong. Mixing LWT and non-LWT is like having only half of your shared data protected by mutexes - this isn't going to work correctly.
Re:Cassandra is not row level consistent by isoap on Friday November 25, 2016 @09:49AM (#13037044)
In such a situation though, shouldn't it raise an error? At least that way, the user could have a chance to recover.

Why should it make an arbitrary decision that unknowingly corrupts data for some users?

Re:Cassandra is not row level consistent by hamax on Friday November 25, 2016 @09:55AM (#13037096)
The only way for C* to know that it should raise an error is if it would implicitly protect all writes with LWT and this is not what most users want.

Following the parent's example, if you don't protect memory access with a lock, you can't know that somebody else locked it.

Re:Cassandra is not row level consistent by prodigal_erik on Friday November 25, 2016 @01:36PM (#13038860)
"Must be consistent" is a property of the data, not of a particular transaction. Data on which inconsistent transactions are ever allowed should be declared, preferably with big hazard signs.
Re:Cassandra is not row level consistent by pkolaczk on Saturday November 26, 2016 @04:47AM (#13042741)
The data are not either conistent or inconsistent. The data are either correct or incorrect, and the definition of "correct" is determined by business requirements. Most of the time weak eventual consistency model provided by Cassandra is sufficient to keep data correct if you are using it right. E.g. you don't need ACID and serializable consistency to do financial stuff correctly - banks and accountants figured out how to do this a long time before computers were invented. That's why Cassandra has serializable consistency as an opt-in only (LWTs), but this comes at a price of latency and availability. By using strong consistency all the time, you'd lose most of the benefits of Cassandra, and you could probably just replace it with a single RDBMS node (and suffer scalability and availability problems then).
Re:Cassandra is not row level consistent by brianwawok on Friday November 25, 2016 @10:25AM (#13037332)
Right does Java throw an exception if you forget a lock around a shared variable?