Hi all, I use two threads to test lightweight transaction. Each thread execute "insert into test_table(column1,column2) values (i, thread_id) if not exists" N times, and "i" is in the range of 0~N. If N is a small number, it is ok,some row are inserted by thread 1 and other rows are inserted by thread 2; if N is a big number, I will get TimedoutException(acknowledged_by:1, paxos_in_progress:true) and have the following two different results:
1) only one thread throws the exception, and this thread successfully inserts the value; 2) both the two threads throw the exception, and no value is inserted into the table. I except that some rows in test_table are inserted by thread 1 and others inserted by thread 2. If one thread inserts a row which has be in the table, the row will not be modified and the thread will continue to insert the next row. I think that is lightweight transaction's function, but why I get the exception and how to avoid it. I try to enlarge cas_contention_timeout_in_ms in cassandra.yaml, but it does not work. my cassandra version is 2.0.3, and the cluster has two nodes with keypsace's replication_factor is 2. Best Regards Jim Xu