Description
We have a custom wrapper around cassandra and use the maven cassandra-all as a dependency.
This worked nicely with C* 2.1.x but with C* 2.2.0 the Thrift server is unable to start.
I assume that is because cassandra-all:2.1.8 depends on thrift-server:0.3.7 while cassandra-all:2.2.0 depends on thrift-server:0.3.5.
I believe this is a packaging issue, because it seems like the compilation process uses thrift-server:0.3.7.
The stacktrace that is produced when trying to start with enabled thrift RPC:
[31m17:33:18,247 ERROR [org.apache.cassandra.service.CassandraDaemon]
(ServerService Thread Pool -- 80) Exception encountered during startup:
java.lang.NoSuchMethodError:
com.thinkaurelius.thrift.TDisruptorServer$Args.invocationExecutor(Ljava/util/concurrent/ThreadPoolExecutor;)Lcom/thinkaurelius/thrift/TDisruptorServer$Args;
at
org.apache.cassandra.thrift.THsHaDisruptorServer$Factory.buildTServer(THsHaDisruptorServer.java:103)
at
org.apache.cassandra.thrift.TServerCustomFactory.buildTServer(TServerCustomFactory.java:55)
at
org.apache.cassandra.thrift.ThriftServer$ThriftServerThread.<init>(ThriftServer.java:131)
at org.apache.cassandra.thrift.ThriftServer.start(ThriftServer.java:58)
at
org.apache.cassandra.service.CassandraDaemon.start(CassandraDaemon.java:404)
at
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:494)
...