1
votes

Is it possible to disable thrift in Cassandra 3.x?

Looked into nodetool disablethrift and also start_rpc setting of Cassandra.yaml, however is it possible to stop shipping libthrift jar from Cassandra library?

Not able to start Cassandra if the jar is removed as there is exception with NoClassDefFoundError.

ERROR [main] CassandraDaemon.java:749 - Exception encountered during startup java.lang.NoClassDefFoundError: org/apache/thrift/transport/TTransportFactory at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:435) [apache-cassandra-3.11.4.jar:3.11.4] at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:620) [apache-cassandra-3.11.4.jar:3.11.4] at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:732) [apache-cassandra-3.11.4.jar:3.11.4] Caused by: java.lang.ClassNotFoundException: org.apache.thrift.transport.TTransportFactory at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[na:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_222] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[na:1.8.0_222] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_222] ... 3 common frames omitted

Not sure but just wanted to check if there is any workaround for same?

1

1 Answers

2
votes

In Cassandra 3 Thrift is disabled by default, so your best bet is to leave it just like this:

# Whether to start the thrift rpc server.
start_rpc: false

The libthrift JAR has been removed in Cassandra 4.0, so you shouldn't have to worry about this in the future.