cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ryan McGuire (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-6714) Upgrading from 1.2 to 2.0 without prior nodetool flush causes data loss
Date Tue, 18 Feb 2014 15:50:22 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-6714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13904175#comment-13904175
] 

Ryan McGuire commented on CASSANDRA-6714:
-----------------------------------------

I've modified our dtest to run a test without flush/drain and I'm seeing the same thing (missing
rows.)

Another oddity is the schema is getting modified. Here's my schema on 1.2:
{code}
CREATE KEYSPACE upgrade WITH replication = {
  'class': 'SimpleStrategy',
  'replication_factor': '2'
};

USE upgrade;

CREATE TABLE cf (
  k int PRIMARY KEY,
  v text
) WITH COMPACT STORAGE AND
  bloom_filter_fp_chance=0.010000 AND
  caching='KEYS_ONLY' AND
  comment='' AND
  dclocal_read_repair_chance=0.000000 AND
  gc_grace_seconds=864000 AND
  read_repair_chance=0.100000 AND
  replicate_on_write='true' AND
  compaction={'class': 'SizeTieredCompactionStrategy'} AND
  compression={'sstable_compression': 'SnappyCompressor'};

CREATE INDEX vals ON cf (v);

CREATE TABLE countertable (
  k text PRIMARY KEY,
  c counter
) WITH COMPACT STORAGE AND
  bloom_filter_fp_chance=0.010000 AND
  caching='KEYS_ONLY' AND
  comment='' AND
  dclocal_read_repair_chance=0.000000 AND
  gc_grace_seconds=864000 AND
  read_repair_chance=0.100000 AND
  replicate_on_write='true' AND
  compaction={'class': 'SizeTieredCompactionStrategy'} AND
  compression={'sstable_compression': 'SnappyCompressor'};
{code}

And after an upgrade to 2.0:

{code}
CREATE KEYSPACE upgrade WITH replication = {
  'class': 'SimpleStrategy',
  'replication_factor': '2'
};

USE upgrade;

CREATE TABLE cf (
  key int,
  v text,
  PRIMARY KEY (key)
) WITH COMPACT STORAGE AND
  bloom_filter_fp_chance=0.010000 AND
  caching='KEYS_ONLY' AND
  comment='' 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='false' AND
  default_time_to_live=0 AND
  speculative_retry='99.0PERCENTILE' AND
  memtable_flush_period_in_ms=0 AND
  compaction={'class': 'SizeTieredCompactionStrategy'} AND
  compression={'sstable_compression': 'SnappyCompressor'};

CREATE INDEX vals ON cf (v);

CREATE TABLE countertable (
  key text,
  c counter,
  PRIMARY KEY (key)
) WITH COMPACT STORAGE AND
  bloom_filter_fp_chance=0.010000 AND
  caching='KEYS_ONLY' AND
  comment='' 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='false' AND
  default_time_to_live=0 AND
  speculative_retry='99.0PERCENTILE' AND
  memtable_flush_period_in_ms=0 AND
  compaction={'class': 'SizeTieredCompactionStrategy'} AND
  compression={'sstable_compression': 'SnappyCompressor'};
{code}

Notice that the primary key column name has changed from 'k' to 'key' in both of my tables
- there's nothing in my test code that does that, and it does not occur when I do the recommended
flush/drain.

> Upgrading from 1.2 to 2.0 without prior nodetool flush causes data loss
> -----------------------------------------------------------------------
>
>                 Key: CASSANDRA-6714
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6714
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: Old node: Cassandra 1.2.15 (DSE)
> New node: Cassandra 2.0.5.1 (DSE)
>            Reporter: Piotr Kołaczkowski
>            Assignee: Aleksey Yeschenko
>            Priority: Critical
>
> Accidentally forgetting to nodetool drain or flush before upgrading to 2.0  causes silent
loss of unflushed data. No errors or warnings are reported in the system.log.



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

Mime
View raw message