Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A8EB9178E3 for ; Thu, 28 Jan 2016 17:01:43 +0000 (UTC) Received: (qmail 10113 invoked by uid 500); 28 Jan 2016 17:01:40 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 10059 invoked by uid 500); 28 Jan 2016 17:01:40 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 9984 invoked by uid 99); 28 Jan 2016 17:01:40 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Jan 2016 17:01:40 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 13E3D2C1F60 for ; Thu, 28 Jan 2016 17:01:40 +0000 (UTC) Date: Thu, 28 Jan 2016 17:01:40 +0000 (UTC) From: "Tyler Hobbs (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (CASSANDRA-11087) Queries on compact storage tables in mixed version clusters can return incorrect results MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-11087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15121889#comment-15121889 ] Tyler Hobbs commented on CASSANDRA-11087: ----------------------------------------- Should we add a flag to the upgrade tests to control flushing before upgrading? It seems like we want to test both behaviors (to ensure commitlog replay is also covered), but there could easily be other legacy sstable reading bugs out there. > Queries on compact storage tables in mixed version clusters can return incorrect results > ---------------------------------------------------------------------------------------- > > Key: CASSANDRA-11087 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11087 > Project: Cassandra > Issue Type: Bug > Components: Local Write-Read Paths > Reporter: Sam Tunnicliffe > Assignee: Sam Tunnicliffe > Fix For: 3.0.x, 3.x > > > Whilst writing a dtest for CASSANDRA-11045, it becomes apparent that queries on compact storage tables are broken during the 3.0 upgrade (and this has probably been the case since day 1). > tl;dr In a cluster with a mix of < 3.0 and 3.0 nodes, reads on COMPACT STORAGE tables may not include all results. > To repro: tables are created and data written before any nodes are upgraded to 3.0+, some nodes are then upgraded putting the cluster into a mixed state. > Now, when a query is run where the coordinator is a < 3.0 node, any 3.0+ replica which has not yet run upgradesstables always returns 0 results. Once upgradesstables is run, the replica returns the correct results. Likewise, if the data is inserted after the node is upgraded, the results are correct. If the 3.0 node acts as the coordinator, the results are also correct and so once all nodes are upgraded, the problem goes away. > The behaviour can be seen for both single partition and range requests as [this dtest|https://github.com/beobal/cassandra-dtest/commit/91bb9ffd8fb761ad3454187d2f05f05a6e7af930] demonstrates. -- This message was sent by Atlassian JIRA (v6.3.4#6332)