I am using following libraries for apache beam to run dataflow job to read data from BigQuery and Store/Write to Cassandra.
- beam-sdks-java-io-cassandra - 2.6.0
- beam-sdks-java-io-jdbc - 2.6.0
- beam-sdks-java-io-google-cloud-platform - 2.6.0
- beam-sdks-java-core - 2.6.0
- google-cloud-dataflow-java-sdk-all - 2.5.0
- google-api-client -1.25.0
Since beam-sdks-java-io-cassandra > 2.3 version support saveAsync, I have upgraded all my libraries to 2.6.0.
After libraries update, I am getting following error at the time insert/save data to Cassandra.
java.lang.NoSuchMethodError: com.datastax.driver.mapping.Mapper.saveAsync(Ljava/lang/Object;)Lorg/apache/beam/repackaged/beam_sdks_java_io_cassandra/com/google/common/util/concurrent/ListenableFuture;
at org.apache.beam.sdk.io.cassandra.CassandraServiceImpl$WriterImpl.write(CassandraServiceImpl.java:435)
at org.apache.beam.sdk.io.cassandra.CassandraIO$WriteFn.processElement(CassandraIO.java:493)
It looks like it is an issue of ListenableFuture from Gauva and Cassandra Driver.