You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Cassandra module is still using Datastax Java driver 3.10 but when using it with the Cassandra 5.0 images (tested here with the version 5.0.0-alpha2), some errors are logged when the new vector CQL type is used because it is not supported by older versions of the driver:
INFO tc.cassandra:5.0 - Container cassandra:5.0 started in PT8.753683478S
INFO org.testcontainers.ext.ScriptUtils - Executing database script from initEmbeddedCassandra.cql
INFO com.datastax.driver.core.ClockFactory - Using native clock to generate timestamps.
INFO com.datastax.driver.core.policies.DCAwareRoundRobinPolicy - Using data-center name 'datacenter1' for DCAwareRoundRobinPolicy (if this is incorrect, please provide the correct datacenter name with DCAwareRoundRobinPolicy constructor)
INFO com.datastax.driver.core.Cluster - New Cassandra host localhost/127.0.0.1:32797 added
ERROR com.datastax.driver.core.SchemaParser - Error parsing schema for table test_keyspace_vect.vectors_test: Cluster.getMetadata().getKeyspace("test_keyspace_vect").getTable("vectors_test") will be missing or incomplete
java.lang.IllegalArgumentException: Could not parse type name vector<float, 4>
at com.datastax.driver.core.DataTypeCqlNameParser.parse(DataTypeCqlNameParser.java:233)
at com.datastax.driver.core.TableMetadata.build(TableMetadata.java:311)
at com.datastax.driver.core.SchemaParser.buildTables(SchemaParser.java:301)
at com.datastax.driver.core.SchemaParser.refresh(SchemaParser.java:129)
at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:411)
at com.datastax.driver.core.ControlConnection.refreshSchema(ControlConnection.java:354)
at com.datastax.driver.core.Cluster$Manager$SchemaRefreshRequestDeliveryCallback$1.runMayThrow(Cluster.java:3037)
at com.datastax.driver.core.ExceptionCatchingRunnable.run(ExceptionCatchingRunnable.java:32)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:108)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:41)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:77)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:833)
[...]
INFO org.testcontainers.ext.ScriptUtils - Executed database script from initEmbeddedCassandra.cql in 8744 ms.
These errors are not blocking, but it could lead to polluting the logs unnecessarily, especially if the initialization script uses a lot of Cassandra 5.0 features.
This could be fixed by upgrading the driver to the latest version 4.17.
This implies to remove the deprecated methods getCluster() from the CassandraContainer class and update the implementation of the DatabaseDelegate.
What do you think about it?
Edit: Cassandra 3.x EoL will happen at the Cassandra 5.0 GA(source), scheduled for the EoY 2023. So, IMHO, it sounds ok to migrate to a most recent version of the driver (supporting both Cassandra 4 and 5) and remove methods specific to Cassandra driver 3.x.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hello,
The Cassandra module is still using Datastax Java driver 3.10 but when using it with the Cassandra 5.0 images (tested here with the version 5.0.0-alpha2), some errors are logged when the new
vectorCQL type is used because it is not supported by older versions of the driver:These errors are not blocking, but it could lead to polluting the logs unnecessarily, especially if the initialization script uses a lot of Cassandra 5.0 features.
This could be fixed by upgrading the driver to the latest version 4.17.
This implies to remove the deprecated methods
getCluster()from theCassandraContainerclass and update the implementation of theDatabaseDelegate.What do you think about it?
Edit: Cassandra 3.x EoL will happen at the Cassandra 5.0 GA(source), scheduled for the EoY 2023. So, IMHO, it sounds ok to migrate to a most recent version of the driver (supporting both Cassandra 4 and 5) and remove methods specific to Cassandra driver 3.x.
All reactions