[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Trouble implementing CAS operation with LWT query

Hi, all


I'm trying to implement a typical CAS operation with LWT query(conditional update).

But I'm having trouble keeping integrity of the result when WriteTimeoutException occurs.

according to http://www.datastax.com/dev/blog/cassandra-error-handling-done-right

"If the paxos phase fails, the driver will throw a WriteTimeoutException with a WriteType.

CAS as retrieved with WriteTimeoutException#getWriteType().

In this situation you can’t know if the CAS operation has been applied..."

1) Doesn't it ruin the whole point of using LWT for CAS operation if you can't be sure whether the query is applied or not?

2-1) Is there anyway to know whether the query is applied when timeout occurred?

2-2) If we can't tell, are there any way to workaround this and keep the CAS integrity?