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

Klay updated CASSANDRA-20182:
-----------------------------
    Attachment: system.log

> Legacy data (2.2) migration fails
> ---------------------------------
>
>                 Key: CASSANDRA-20182
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-20182
>             Project: Apache Cassandra
>          Issue Type: Bug
>            Reporter: Klay
>            Priority: Normal
>         Attachments: system.log
>
>
> I am trying to migrate legacy data (2.2) to the latest version following the 
> path 2.2 => 3.0 => 4.0.
> However, when migrating data from 2.2.19 to 3.0.30, I observed that the 
> upgrade process could crash for certain data.
> h1. Reproduce
> Start up a cassandra 2.2.19 (single node is enough). Execute the following 
> commands
> {code:java}
> CREATE KEYSPACE IF NOT EXISTS ks WITH REPLICATION = { 'class' : 
> 'SimpleStrategy', 'replication_factor' : 1 };
> CREATE TABLE IF NOT EXISTS ks.tb (id INT, value INT, PRIMARY KEY (id));
> DELETE value FROM ks.tb WHERE id = 3;
> ALTER TABLE ks.tb DROP value ;
> ALTER TABLE ks.tb ADD value TEXT ; {code}
> Flush and start up 3.0.30, the start up crashes with the following logs
> {code:java}
> ERROR 04:03:06 Exception in thread Thread[MemtablePostFlush:1,5,main]
> java.lang.AssertionError: null
>         at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70)
>         at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>         at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:137)
>         at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:71)
>         at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49)
>         at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>         at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>         at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>         at 
> org.apache.cassandra.db.Memtable.writeSortedContents(Memtable.java:390)
>         at org.apache.cassandra.db.Memtable.flush(Memtable.java:328)
>         at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1098)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at 
> org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:83)
>         at java.lang.Thread.run(Thread.java:750)
> Exception (java.lang.RuntimeException) encountered during startup: 
> java.util.concurrent.ExecutionException: java.lang.AssertionError
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: 
> java.lang.AssertionError
>         at org.apache.cassandra.utils.Throwables.maybeFail(Throwables.java:62)
>         at 
> org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:420)
>         at 
> org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:383)
>         at 
> org.apache.cassandra.db.commitlog.CommitLogReplayer.blockForWrites(CommitLogReplayer.java:267)
>         at 
> org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:188)
>         at 
> org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:168)
>         at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:342)
>         at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:636)
>         at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:837)
> Caused by: java.util.concurrent.ExecutionException: java.lang.AssertionError
>         at java.util.concurrent.FutureTask.report(FutureTask.java:122)
>         at java.util.concurrent.FutureTask.get(FutureTask.java:192)
>         at 
> org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:407)
>         ... 7 more
> Caused by: java.lang.AssertionError
>         at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70)
>         at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>         at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:137)
>         at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:71)
>         at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49)
>         at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>         at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>         at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>         at 
> org.apache.cassandra.db.Memtable.writeSortedContents(Memtable.java:390)
>         at org.apache.cassandra.db.Memtable.flush(Memtable.java:328)
>         at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1098)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at 
> org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:83)
>         at java.lang.Thread.run(Thread.java:750)
> ERROR 04:03:06 Exception encountered during startup
> java.lang.RuntimeException: java.util.concurrent.ExecutionException: 
> java.lang.AssertionError
>         at org.apache.cassandra.utils.Throwables.maybeFail(Throwables.java:62)
>         at 
> org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:420)
>         at 
> org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:383)
>         at 
> org.apache.cassandra.db.commitlog.CommitLogReplayer.blockForWrites(CommitLogReplayer.java:267)
>         at 
> org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:188)
>         at 
> org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:168)
>         at 
> org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:342)
>         at 
> org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:636)
>         at 
> org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:837)
> Caused by: java.util.concurrent.ExecutionException: java.lang.AssertionError
>         at java.util.concurrent.FutureTask.report(FutureTask.java:122)
>         at java.util.concurrent.FutureTask.get(FutureTask.java:192)
>         at 
> org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:407)
>         ... 7 common frames omitted
> Caused by: java.lang.AssertionError: null
>         at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70)
>         at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>         at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:137)
>         at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:71)
>         at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49)
>         at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>         at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>         at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>         at 
> org.apache.cassandra.db.Memtable.writeSortedContents(Memtable.java:390)
>         at org.apache.cassandra.db.Memtable.flush(Memtable.java:328)
>         at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1098)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at 
> org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:83)
>         at java.lang.Thread.run(Thread.java:750) {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to