You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "James P (JIRA)" <ji...@apache.org> on 2013/09/11 04:05:52 UTC
[jira] [Created] (CASSANDRA-6004) Performing a "Select count(*)"
when replication factor < node count causes assertion error and timeout
James P created CASSANDRA-6004:
----------------------------------
Summary: Performing a "Select count(*)" when replication factor < node count causes assertion error and timeout
Key: CASSANDRA-6004
URL: https://issues.apache.org/jira/browse/CASSANDRA-6004
Project: Cassandra
Issue Type: Bug
Components: API
Environment: Two node setup
Ubuntu Server 12.04
Tested on JDK 1.6 and 1.7
Reporter: James P
When performing a "Select Count(*)" query on a table belonging to a keyspace with a replication factor less than the total node count, the following error is encountered which ultimately results in an rpc_timeout for the request:
ERROR 18:47:54,660 Exception in thread Thread[Thread-5,5,main]
java.lang.AssertionError
at org.apache.cassandra.db.filter.IDiskAtomFilter$Serializer.deserialize(IDiskAtomFilter.java:116)
at org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:247)
at org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(RangeSliceCommand.java:156)
at org.apache.cassandra.net.MessageIn.read(MessageIn.java:99)
at org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:148)
at org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:125)
at org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:73)
The issue is not encountered when the replication factor is >= node count
To replicate the issue:
1) Create the keyspace: CREATE KEYSPACE demodb WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor': 1};
2) Create the table CREATE TABLE users (
user_name varchar,
password varchar,
gender varchar,
session_token varchar,
state varchar,
birth_year bigint,
PRIMARY KEY (user_name));
3) Do a CQL query: "SELECT count(*) FROM demodb.users" ;
The issue is reproducible even if the table is empty. Both CQLSH and client (astyanax) api calls are affected. Tested on two different clusters (2-node and 8-node)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira