[ https://issues.apache.org/jira/browse/CASSANDRA-10021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sylvestor George reassigned CASSANDRA-10021: -------------------------------------------- Assignee: Sylvestor George > Losing writes in a single-node cluster > -------------------------------------- > > Key: CASSANDRA-10021 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10021 > Project: Cassandra > Issue Type: Bug > Environment: Docker images > Reporter: Jeremy Schlatter > Assignee: Sylvestor George > Attachments: cpp-repro.zip, go-repro.zip > > > I am able to reliably reproduce write losses in the following circumstances: > * Set up a single-node cluster. > * Create keyspace with SimpleStrategy, replication_factor = 1. > * Create a table with a float field. > * Send an UPDATE command to set the float value on a row. > * After the command returns, immediately send another UPDATE to set the float > value to something _smaller_ than the first value. > * The second UPDATE is sometimes lost. > Reproduction code attached. There are two implementations: one in Go and one > in C++. They do the same thing -- I implemented both to rule out a bug in the > client library. For both cases, you can reproduce by doing the following: > 1. docker run --name repro-cassandra --rm cassandra:2.0.14 > (or any other Cassandra version) > 2. Download and unzip one of the zip files, and change to its directory. > 3. docker build -t repro . > 4. docker run --link repro-cassandra:cassandra --rm repro > The reproduction code will repeatedly run two UPDATEs followed by a SELECT > until it detects a lost write, and then print: > "Lost a write. Got 20.500000, want 10.500000" > This may be fixed in 2.1.8 because I have not been able to reproduce it in > that version. -- This message was sent by Atlassian JIRA (v6.3.4#6332)