I am currently using cassandra-unit ver 3.11.2.0 which internally is using libthrift 0.13.0 which works fine. Although a vulnerability was resported for libthrift ver 0.13.0 (https://snyk.io/vuln/SNYK-JAVA-ORGAPACHETHRIFT-1074898) which got fixed in 0.14.0 version. Now on using libthrift ver 0.14.0 we are getting the following error when we try to compile the application.
5:52:42 Exception (java.lang.NoClassDefFoundError) encountered during startup: org/apache/thrift/transport/TFramedTransport$Factory
15:52:42 java.lang.NoClassDefFoundError: org/apache/thrift/transport/TFramedTransport$Factory
15:52:42 at org.apache.cassandra.service.CassandraDaemon.initializeNativeTransport(CassandraDaemon.java:441)
15:52:42 at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:429)
15:52:42 at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:628)
15:52:42 at org.cassandraunit.utils.EmbeddedCassandraServerHelper.lambda$startEmbeddedCassandra$1(EmbeddedCassandraServerHelper.java:152)
15:52:42 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
15:52:42 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
15:52:42 at java.lang.Thread.run(Thread.java:748)
15:52:42 Caused by: java.lang.ClassNotFoundException: org.apache.thrift.transport.TFramedTransport$Factory
15:52:42 at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
15:52:42 at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
15:52:42 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
15:52:42 at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
15:52:42 ... 7 more
On checking the issue further, we noticed that the package for 'TFramedTransport.Factory' has been changed in libthrift.jar from ' org.apache.thrift.transport' to this 'org.apache.thrift.transport.layered'.
Can libthrift 0.14.0 be made compatiable with cassandra-unit?
I am currently using cassandra-unit ver 3.11.2.0 which internally is using libthrift 0.13.0 which works fine. Although a vulnerability was resported for libthrift ver 0.13.0 (https://snyk.io/vuln/SNYK-JAVA-ORGAPACHETHRIFT-1074898) which got fixed in 0.14.0 version. Now on using libthrift ver 0.14.0 we are getting the following error when we try to compile the application.
On checking the issue further, we noticed that the package for 'TFramedTransport.Factory' has been changed in libthrift.jar from ' org.apache.thrift.transport' to this 'org.apache.thrift.transport.layered'. Can libthrift 0.14.0 be made compatiable with cassandra-unit?