cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeremiah Jordan (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-11416) No longer able to load old backups into new cluster if there was a dropped column
Date Wed, 23 Mar 2016 17:35:25 GMT
Jeremiah Jordan created CASSANDRA-11416:
-------------------------------------------

             Summary: No longer able to load old backups into new cluster if there was a dropped
column
                 Key: CASSANDRA-11416
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11416
             Project: Cassandra
          Issue Type: Bug
            Reporter: Jeremiah Jordan


The following change to the sstableloader test works in 2.1/2.2 but fails in 3.0+

https://github.com/JeremiahDJordan/cassandra-dtest/commit/7dc66efb8d24239f0a488ec5a613240531aeb7db

{code}
CREATE TABLE test_drop (key text PRIMARY KEY, c1 text, c2 text, c3 text, c4 text)
...insert data...
ALTER TABLE test_drop DROP c4
...insert more data...
{code}

Make a snapshot and save off a describe to backup table test_drop.

Decide to restore the snapshot to a new cluster.   First restore the schema from describe.
(column c4 isn't there)

{code}
CREATE TABLE test_drop (key text PRIMARY KEY, c1 text, c2 text, c3 text)
{code}

sstableload the snapshot data.

Works in 2.1/2.2.  Fails in 3.0+ with:

{code}
java.lang.RuntimeException: Unknown column c4 during deserialization
java.lang.RuntimeException: Failed to list files in /var/folders/t4/rlc2b6450qbg92762l9l4mt80000gn/T/dtest-3eKv_g/test/node1/data1_copy/ks/drop_one-bcef5280f11b11e5825a43f0253f18b5
	at org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:53)
	at org.apache.cassandra.db.lifecycle.LifecycleTransaction.getFiles(LifecycleTransaction.java:544)
	at org.apache.cassandra.io.sstable.SSTableLoader.openSSTables(SSTableLoader.java:76)
	at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:165)
	at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:104)
Caused by: java.lang.RuntimeException: Unknown column c4 during deserialization
	at org.apache.cassandra.db.SerializationHeader$Component.toHeader(SerializationHeader.java:331)
	at org.apache.cassandra.io.sstable.format.SSTableReader.openForBatch(SSTableReader.java:430)
	at org.apache.cassandra.io.sstable.SSTableLoader.lambda$openSSTables$193(SSTableLoader.java:121)
	at org.apache.cassandra.db.lifecycle.LogAwareFileLister.lambda$innerList$184(LogAwareFileLister.java:75)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
	at java.util.TreeMap$EntrySpliterator.forEachRemaining(TreeMap.java:2965)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
	at org.apache.cassandra.db.lifecycle.LogAwareFileLister.innerList(LogAwareFileLister.java:77)
	at org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:49)
	... 4 more
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message