cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-6707) AIOOBE when doing select count(*) from on a mixed cluster.
Date Fri, 14 Feb 2014 22:21:19 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-6707?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Tyler Hobbs updated CASSANDRA-6707:
-----------------------------------

    Attachment: 6707.patch

6707.patch (and [branch|https://github.com/thobbs/cassandra/tree/6707]) takes the approach
suggested by Sylvain.  I tested this against a two-node cluster like so:
# Start two 1.2 nodes
# Insert 1m rows, verify {{select count\(*\)}} returns 1m
# Upgrade one node to cassandra-2.0 plus the patch, verify that {{select count\(*\)}} with
the 2.0 node as the coordinator doesn't send a paging query to the 1.2 node
# Upgrade the second node to cassandra-2.0, verify that the paging query is now used

However, I will note that after upgrading the first node to 2.0, the results of {{select count\(*\)}}
were consistent but incorrect (I got 957815 as the result).  After upgrading the second node
to 2.0 I got another consistent but incorrect result (912873).  I couldn't reproduce this
when I started a new two node cluster with just 2.0 plus the patch, so I might have made a
mistake when upgrading and testing the patch, or there might be a separate issue with counting.
 Unfortunately I don't have time to investigate this at the moment.

> AIOOBE when doing select count(*) from on a mixed cluster.
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-6707
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6707
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: old nodes: Cassandra 1.2.16 from DSE 3.2.5  (unreleased)
> new node: Cassandra  2.0.5 from DSE 4.0.0 (unreleased)
>            Reporter: Piotr Kołaczkowski
>            Assignee: Tyler Hobbs
>         Attachments: 6707.patch
>
>
> After upgrading one node from 1.2 to 2.0, the following query fails with timeout:
> {noformat}
> Connected to test at localhost:9160.
> [cqlsh 4.1.0 | Cassandra 2.0.5.1-SNAPSHOT | CQL spec 3.1.1 | Thrift protocol 19.39.0]
> Use HELP for help.
> cqlsh> select count(*) from cfs.sblocks;
> Request did not complete within rpc_timeout.
> {noformat}
> Table definition:
> {noformat}
> cqlsh> describe columnfamily cfs.sblocks;
> CREATE TABLE sblocks (
>   key blob,
>   column1 blob,
>   value blob,
>   PRIMARY KEY (key, column1)
> ) WITH COMPACT STORAGE AND
>   bloom_filter_fp_chance=0.000068 AND
>   caching='KEYS_ONLY' AND
>   comment='Stores blocks of information associated with a inode' AND
>   dclocal_read_repair_chance=0.000000 AND
>   gc_grace_seconds=864000 AND
>   index_interval=128 AND
>   read_repair_chance=0.100000 AND
>   replicate_on_write='true' AND
>   populate_io_cache_on_flush='true' AND
>   default_time_to_live=0 AND
>   speculative_retry='99.0PERCENTILE' AND
>   memtable_flush_period_in_ms=0 AND
>   compaction={'class': 'com.datastax.bdp.hadoop.cfs.compaction.CFSCompactionStrategy'}
AND
>   compression={};
> {noformat}
> The 1.2 node reports the following error:
> {noformat}
> ERROR 08:38:02,006 Exception in thread Thread[Thread-32,5,main]
> java.lang.ArrayIndexOutOfBoundsException: 36
> 	at org.apache.cassandra.net.MessageIn.read(MessageIn.java:59)
> 	at org.apache.cassandra.net.IncomingTcpConnection.receiveMessage(IncomingTcpConnection.java:208)
> 	at org.apache.cassandra.net.IncomingTcpConnection.handleModernVersion(IncomingTcpConnection.java:140)
> 	at org.apache.cassandra.net.IncomingTcpConnection.run(IncomingTcpConnection.java:83)
> {noformat}
> There were no errors during the upgrade.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message