Hey
I have a 2.11.4 cluster with tables that are defined with twcs, using
jeff's jar

https://github.com/jeffjirsa/twcs

All working great, but now I want to upgrade to 3.11, and I have a problem,
cassandra won't start, it fails on the following error

ERROR [main] 2020-07-09 13:30:29,823 CassandraDaemon.java:774 - Exception
encountered during startup
java.lang.NoClassDefFoundError:
org/apache/cassandra/io/sstable/SSTableReader
        at java.lang.Class.getDeclaredMethods0(Native Method)
~[na:1.8.0-zing_19.12.102.0]
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
~[na:1.8.0-zing_19.12.102.0]
        at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
~[na:1.8.0-zing_19.12.102.0]
        at java.lang.Class.getMethod0(Class.java:3018)
~[na:1.8.0-zing_19.12.102.0]
        at java.lang.Class.getMethod(Class.java:1784)
~[na:1.8.0-zing_19.12.102.0]
        at
org.apache.cassandra.schema.LegacySchemaMigrator.compactionFromRow(LegacySchemaMigrator.java:558)
~[apache-cassandra-3.11.7.jar:3.11.7]
        at
org.apache.cassandra.schema.LegacySchemaMigrator.decodeTableParams(LegacySchemaMigrator.java:493)
~[apache-cassandra-3.11.7.jar:3.11.7]
        at
org.apache.cassandra.schema.LegacySchemaMigrator.decodeTableMetadata(LegacySchemaMigrator.java:381)
~[apache-cassandra-3.11.7.jar:3.11.7]
        at
org.apache.cassandra.schema.LegacySchemaMigrator.readTableMetadata(LegacySchemaMigrator.java:274)
~[apache-cassandra-3.11.7.jar:3.11.7]
        at
org.apache.cassandra.schema.LegacySchemaMigrator.readTable(LegacySchemaMigrator.java:245)
~[apache-cassandra-3.11.7.jar:3.11.7]
        at
org.apache.cassandra.schema.LegacySchemaMigrator.lambda$readTables$7(LegacySchemaMigrator.java:238)
~[apache-cassandra-3.11.7.jar:3.11.7]
        at java.util.ArrayList.forEach(ArrayList.java:1257)
~[na:1.8.0-zing_19.12.102.0]
        at
org.apache.cassandra.schema.LegacySchemaMigrator.readTables(LegacySchemaMigrator.java:238)
~[apache-cassandra-3.11.7.jar:3.11.7]
        at
org.apache.cassandra.schema.LegacySchemaMigrator.readKeyspace(LegacySchemaMigrator.java:187)
~[apache-cassandra-3.11.7.jar:3.11.7]
        at
org.apache.cassandra.schema.LegacySchemaMigrator.lambda$readSchema$4(LegacySchemaMigrator.java:178)
~[apache-cassandra-3.11.7.jar:3.11.7]
        at java.util.ArrayList.forEach(ArrayList.java:1257)
~[na:1.8.0-zing_19.12.102.0]
        at
org.apache.cassandra.schema.LegacySchemaMigrator.readSchema(LegacySchemaMigrator.java:178)
~[apache-cassandra-3.11.7.jar:3.11.7]
        at
org.apache.cassandra.schema.LegacySchemaMigrator.migrate(LegacySchemaMigrator.java:78)
~[apache-cassandra-3.11.7.jar:3.11.7]
        at
org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:263)
[apache-cassandra-3.11.7.jar:3.11.7]

(This is with the jar in place, if the jar is not there there is an error
about unknown compaction startegy)

I know I can convert the table to a regular size tier before the upgrade,
but I would like to avoid this, as it will merge a lot of sstables into one.
Has anybody upgraded a cluster with tables defined like this? Is there
maybe another way to make the jar compatible with 3.X just for the sake of
the upgrade so I can start my server and then move to the built in twcs.
Gil

Reply via email to