# How to rollback from scylldb to cassandra?

**URL:** <https://forum.scylladb.com/t/how-to-rollback-from-scylldb-to-cassandra/1484>\
**Category:** ScyllaDB\
**Tags:** open-source, migration, sstable, testing\
**Created:** [April 15, 2024, 9:29am UTC](https://forum.scylladb.com/t/how-to-rollback-from-scylldb-to-cassandra/1484 "2024-04-15T09:29:11Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Debojyoti\_Paul](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.scylladb.com/debojyoti_paul/32/763_2.png) [@Debojyoti\_Paul](https://forum.scylladb.com/u/Debojyoti_Paul)\
**Post date:** [April 15, 2024, 9:29am UTC](https://forum.scylladb.com/t/how-to-rollback-from-scylldb-to-cassandra/1484/1 "2024-04-15T09:29:11Z")

</div>

Cassandra to Scylla migration is seamless using sstableloader as documented here - [Apache Cassandra to Scylla Migration Process | ScyllaDB Docs](https://opensource.docs.scylladb.com/stable/operating-scylla/procedures/cassandra-to-scylla-migration-process.html).

But is there any process to roll back from scyllDB to Cassandra?

It is mentioned here that Scylla and Cassandra sstables are compatible but when I try to just replace the sstables file, it fails.

Also, tried the same scylla to Cassandra migration by just replacing sstables and that too failed.

Any leads on how to successfully rollback to Cassandra in case ?

 ![image](https://us1.discourse-cdn.com/flex016/uploads/scylladb/original/1X/a4b15f4154801c19ce20878bb27aa1122ab7233b.png)

---

<div class="post-metadata">

**Author:** ![tzach](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.scylladb.com/tzach/32/172_2.png) [@tzach](https://forum.scylladb.com/u/tzach)\
**Post date:** [April 15, 2024, 8:18pm UTC](https://forum.scylladb.com/t/how-to-rollback-from-scylldb-to-cassandra/1484/2 "2024-04-15T20:18:56Z")

</div>

> It is mentioned here that Scylla and Cassandra sstables are compatible but when I try to just replace the sstables file, it fails.

Failed how? What error did you get?  
What version of ScyllaDB and Apache Cassandra are you using?

> Also, tried the same scylla to Cassandra migration by just replacing sstables and that too failed.

Same questions as above.

Another alternative is using SSTableloadr. Since it use CQL, it **should** work with Apache Cassanra.

---

<div class="post-metadata">

**Author:** ![Debojyoti\_Paul](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.scylladb.com/debojyoti_paul/32/763_2.png) [@Debojyoti\_Paul](https://forum.scylladb.com/u/Debojyoti_Paul)\
**Post date:** [April 16, 2024, 5:57am UTC](https://forum.scylladb.com/t/how-to-rollback-from-scylldb-to-cassandra/1484/3 "2024-04-16T05:57:54Z")

</div>

Cassandra = 4.0  
Scylla = 5.1

**Cassandra to Scylla migration-**

1. Using sstableloader

```auto
sstableloader -d 0.0.0.0 /home/keyspace1/table1/
===== Using optimized driver!!! =====
java.lang.ArrayIndexOutOfBoundsException: Index 640228101 out of bounds for length 4
	at org.apache.cassandra.io.sstable.metadata.MetadataSerializer.deserialize(MetadataSerializer.java:114)
	at org.apache.cassandra.io.sstable.metadata.MetadataSerializer.deserialize(MetadataSerializer.java:93)
	at org.apache.cassandra.io.sstable.format.SSTableReader.openForBatch(SSTableReader.java:416)
	at com.scylladb.tools.BulkLoader.openFile(BulkLoader.java:1527)
	at com.scylladb.tools.BulkLoader.process(BulkLoader.java:1572)
	at com.scylladb.tools.BulkLoader.lambda$main$1(BulkLoader.java:1369)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
java.lang.ArrayIndexOutOfBoundsException: Index 640228101 out of bounds for length 4
	at org.apache.cassandra.io.sstable.metadata.MetadataSerializer.deserialize(MetadataSerializer.java:114)
	at org.apache.cassandra.io.sstable.metadata.MetadataSerializer.deserialize(MetadataSerializer.java:93)
	at org.apache.cassandra.io.sstable.format.SSTableReader.openForBatch(SSTableReader.java:416)
	at com.scylladb.tools.BulkLoader.openFile(BulkLoader.java:1527)
	at com.scylladb.tools.BulkLoader.process(BulkLoader.java:1572)
	at com.scylladb.tools.BulkLoader.lambda$main$1(BulkLoader.java:1369)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
java.lang.ArrayIndexOutOfBoundsException: Index 640228101 out of bounds for length 4
	at org.apache.cassandra.io.sstable.metadata.MetadataSerializer.deserialize(MetadataSerializer.java:114)
	at org.apache.cassandra.io.sstable.metadata.MetadataSerializer.deserialize(MetadataSerializer.java:93)
	at org.apache.cassandra.io.sstable.format.SSTableReader.openForBatch(SSTableReader.java:416)
	at com.scylladb.tools.BulkLoader.openFile(BulkLoader.java:1527)
	at com.scylladb.tools.BulkLoader.process(BulkLoader.java:1572)
	at com.scylladb.tools.BulkLoader.lambda$main$1(BulkLoader.java:1369)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
  0% done. 0 statements sent (in 0 batches, 0 failed).
       0 statements generated.
       0 cql rows processed in 0 partitions.
       0 cql rows and 0 partitions deleted.
       0 local and 0 remote counter shards where skipped.

```

1. Replacing Cassandra snapshot in scylla

Got some corrupted stable format exceptions.

**Scylla to Cassandra rollback-**

The actual question was is it actually possible to do so ?
