QUORUM Multiget RangeSliceQuery causes unnecessary writes to read entries
-------------------------------------------------------------------------
Key: CASSANDRA-4137
URL: https://issues.apache.org/jira/browse/CASSANDRA-4137
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 0.8.9
Reporter: Thibaut
Priority: Critical
Fix For: 0.8.11
>From the mailing list:
I created a new test keyspace and added 10 000 keys to it. The cluster has 3
machines, RF=3, read repair disabled (enabling it didn't change anything). The
keyspace doesn't contain any thumbstones. No keys were deleted.
When I fetch a rangeslice through hector and set the consistency level to
quorum, according to cfstats (and also to the output files on the hd),
cassandra seems to execute a write request for each read I execute. The write
count in cfstats is increased when I execute the rangeslice function over the
same range again and again (without saving anything at all).
If I set the consistency level to ONE or ALL, no writes are executed.
I checked the writes on one machine. They increased by 2300 for each iteration
over the 10000 keys. I didn't check, but this probably corresponds to the
number of keys for which the machine is responsible.
Code:
Keyspace ks = getConnection(cluster,
consistencylevel);
RangeSlicesQuery<String, String, V>
rangeSlicesQuery = HFactory.createRangeSlicesQuery(ks, StringSerializer.get(),
StringSerializer.get(), s);
rangeSlicesQuery.setColumnFamily(columnFamily);
rangeSlicesQuery.setColumnNames(column);
rangeSlicesQuery.setKeys(start, end);
rangeSlicesQuery.setRowCount(maxrows);
QueryResult<OrderedRows<String, String, V>>
result = rangeSlicesQuery.execute();
return result.get();
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira