cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James P (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-6004) Performing a "Select count(*)" when replication factor < node count causes assertion error and timeout
Date Tue, 17 Sep 2013 23:01:52 GMT


James P commented on CASSANDRA-6004:

Hi Minh,

For existing keyspaces, I was able to workaround the issue in our cluster by changing the
replication factor to be the same as the number of nodes and then doing a "nodetool repair"
on each node. I tested "Select *" and "Select count", both works.

Not sure, (Sylvain can confirm or not) but having (replication = nodecount) probably allows
queries to be performed without having to request a range of partition keys which triggers
the bug as Sylvain mentioned.

> Performing a "Select count(*)" when replication factor < node count causes assertion
error and timeout
> ------------------------------------------------------------------------------------------------------
>                 Key: CASSANDRA-6004
>                 URL:
>             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
>            Assignee: Sylvain Lebresne
>             Fix For: 2.0.1
>         Attachments: 6004.txt
> 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(
> 	at org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(
> 	at org.apache.cassandra.db.RangeSliceCommandSerializer.deserialize(
> 	at
> 	at
> 	at
> 	at
> 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:

View raw message