incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "J. Ryan Earl" <...@jryanearl.us>
Subject Re: lightweight transaction timeout
Date Thu, 05 Dec 2013 05:04:28 GMT
You're using only 2 nodes, Paxos requires a minimum of 3 nodes to establish
a quorum.  Cassandra should likely disallow lightweight transactions
entirely in a 2-node scenario.


On Tue, Dec 3, 2013 at 8:33 PM, Jim Xu <jimxu123@gmail.com> wrote:

> 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
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message