This is an automated email from the ASF dual-hosted git repository.

asolimando pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/calcite.git


The following commit(s) were added to refs/heads/main by this push:
     new 8fd9518887 [CALCITE-6243] Upgrade Cassandra to 4.1.3 and DataStax 
driver for Cassandra to 4.17.0
8fd9518887 is described below

commit 8fd9518887302af43e7e74cdb155474dcebfc9f5
Author: Alessandro Solimando <[email protected]>
AuthorDate: Sun Feb 4 15:09:44 2024 +0100

    [CALCITE-6243] Upgrade Cassandra to 4.1.3 and DataStax driver for Cassandra 
to 4.17.0
---
 .../apache/calcite/test/CassandraAdapterTest.java  |  3 --
 .../apache/calcite/test/CassandraExtension.java    | 53 ++++++++++++----------
 gradle.properties                                  |  4 +-
 3 files changed, 31 insertions(+), 29 deletions(-)

diff --git 
a/cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterTest.java 
b/cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterTest.java
index 73e9abe618..411ffdbb65 100644
--- a/cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterTest.java
+++ b/cassandra/src/test/java/org/apache/calcite/test/CassandraAdapterTest.java
@@ -46,9 +46,6 @@ class CassandraAdapterTest {
   private static final ImmutableMap<String, String> TWISSANDRA =
           CassandraExtension.getDataset("/model.json");
 
-  private static final ImmutableMap<String, String> 
TWISSANDRA_WITHOUT_KEYSPACE =
-      CassandraExtension.getDataset("/model-without-keyspace.json");
-
   @BeforeAll
   static void load(CqlSession session) {
     new CQLDataLoader(session)
diff --git 
a/cassandra/src/test/java/org/apache/calcite/test/CassandraExtension.java 
b/cassandra/src/test/java/org/apache/calcite/test/CassandraExtension.java
index 14b72b6eae..fc635dd170 100644
--- a/cassandra/src/test/java/org/apache/calcite/test/CassandraExtension.java
+++ b/cassandra/src/test/java/org/apache/calcite/test/CassandraExtension.java
@@ -17,16 +17,14 @@
 package org.apache.calcite.test;
 
 import org.apache.calcite.config.CalciteSystemProperty;
-import org.apache.calcite.util.Bug;
 import org.apache.calcite.util.Sources;
 import org.apache.calcite.util.TestUtil;
 
 import org.apache.cassandra.concurrent.Stage;
 import org.apache.cassandra.config.DatabaseDescriptor;
-import org.apache.cassandra.db.WindowsFailedSnapshotTracker;
 import org.apache.cassandra.service.CassandraDaemon;
 import org.apache.cassandra.service.StorageService;
-import org.apache.cassandra.utils.FBUtilities;
+import org.apache.commons.lang3.SystemUtils;
 
 import com.datastax.oss.driver.api.core.CqlSession;
 import com.google.common.collect.ImmutableMap;
@@ -43,8 +41,6 @@ import org.junit.jupiter.api.extension.ParameterResolver;
 import java.io.IOException;
 import java.io.UncheckedIOException;
 import java.lang.reflect.Field;
-import java.nio.file.Files;
-import java.nio.file.Paths;
 import java.time.Duration;
 import java.util.Locale;
 import java.util.Objects;
@@ -53,10 +49,11 @@ import java.util.concurrent.ExecutionException;
 /**
  * JUnit5 extension to start and stop embedded Cassandra server.
  *
- * <p>Note that tests will be skipped if running on JDK11+ or Eclipse OpenJ9 
JVM
- * (not supported by cassandra-unit and Cassandra, respectively) see
+ * <p>Note that tests will be skipped if running on JDK11+, Eclipse OpenJ9 JVM 
or Windows
+ * (the first isn't supported by cassandra-unit, the last two by Cassandra) see
  * <a 
href="https://github.com/jsevellec/cassandra-unit/issues/294";>cassandra-unit 
issue #294</a>
- * and <a 
href="https://issues.apache.org/jira/browse/CASSANDRA-14883";>CASSANDRA-14883</a>,
+ * <a 
href="https://issues.apache.org/jira/browse/CASSANDRA-14883";>CASSANDRA-14883</a>,
+ * and <a 
href="https://issues.apache.org/jira/browse/CASSANDRA-16956";>CASSANDRA-16956</a>,
  * respectively.
  */
 class CassandraExtension implements ParameterResolver, ExecutionCondition {
@@ -121,22 +118,39 @@ class CassandraExtension implements ParameterResolver, 
ExecutionCondition {
    * {@link 
com.google.common.collect.ImmutableSet#builderWithExpectedSize(int)}
    * and therefore Guava 23 or higher.
    *
+   * <p>Cassandra dropped support for Windows in 4.1.x
+   * @see <a 
href="https://issues.apache.org/jira/browse/CASSANDRA-16956";>CASSANDRA-16956</a>
+   *
    * @return {@code true} if test is compatible with current environment,
    *         {@code false} otherwise
    */
   @Override public ConditionEvaluationResult evaluateExecutionCondition(
       final ExtensionContext context) {
     boolean enabled = CalciteSystemProperty.TEST_CASSANDRA.value();
-    Bug.upgrade("remove JDK version check once cassandra-unit supports 
JDK11+");
+    // remove JDK version check once cassandra-unit supports JDK11+
     boolean compatibleJdk = TestUtil.getJavaMajorVersion() < 11;
     boolean compatibleGuava = TestUtil.getGuavaMajorVersion() >= 23;
-    Bug.upgrade("remove JVM check once Cassandra supports Eclipse OpenJ9 JVM");
+    // remove JVM check once Cassandra supports Eclipse OpenJ9 JVM
     boolean compatibleJVM = !"Eclipse 
OpenJ9".equals(TestUtil.getJavaVirtualMachineVendor());
-    if (enabled && compatibleJdk && compatibleGuava && compatibleJVM) {
-      return ConditionEvaluationResult.enabled("Cassandra enabled");
-    } else {
-      return ConditionEvaluationResult.disabled("Cassandra tests disabled");
+    boolean compatibleOS = !SystemUtils.IS_OS_WINDOWS;
+    if (enabled && compatibleJdk && compatibleGuava && compatibleJVM && 
compatibleOS) {
+      return ConditionEvaluationResult.enabled("Cassandra tests enabled");
+    }
+
+    final StringBuilder sb = new StringBuilder("Cassandra tests disabled:");
+    if (!compatibleJdk) {
+      sb.append("\n - JDK11+ is not supported");
+    }
+    if (!compatibleGuava) {
+      sb.append("\n - Guava versions < 23 are not supported");
+    }
+    if (!compatibleJVM) {
+      sb.append("\n - Eclipse OpenJ9 JVM is not supported");
     }
+    if (!compatibleOS) {
+      sb.append("\n - Cassandra doesn't support Windows");
+    }
+    return ConditionEvaluationResult.disabled(sb.toString());
   }
 
   /** Cassandra resource. */
@@ -157,7 +171,7 @@ class CassandraExtension implements ParameterResolver, 
ExecutionCondition {
      * during close, clean shutdown (as part of unit test) is not
      * straightforward.
      */
-    @Override public void close() throws IOException {
+    @Override public void close() {
       session.close();
 
       CassandraDaemon daemon = extractDaemon();
@@ -175,14 +189,6 @@ class CassandraExtension implements ParameterResolver, 
ExecutionCondition {
         Thread.currentThread().interrupt();
       }
       Stage.shutdownNow();
-
-      if (FBUtilities.isWindows) {
-        // for some reason .toDelete stale folder is not deleted on cassandra 
shutdown
-        // doing it manually here
-        WindowsFailedSnapshotTracker.resetForTests();
-        // manually delete stale file(s)
-        
Files.deleteIfExists(Paths.get(WindowsFailedSnapshotTracker.TODELETEFILE));
-      }
     }
 
     private static void startCassandra() {
@@ -223,5 +229,4 @@ class CassandraExtension implements ParameterResolver, 
ExecutionCondition {
       }
     }
   }
-
 }
diff --git a/gradle.properties b/gradle.properties
index ea5695024a..51e13a26c7 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -85,8 +85,8 @@ aggdesigner-algorithm.version=6.0
 apiguardian-api.version=1.1.2
 asm.version=7.2
 byte-buddy.version=1.9.3
-cassandra-all.version=4.0.1
-cassandra-java-driver-core.version=4.13.0
+cassandra-all.version=4.1.3
+cassandra-java-driver-core.version=4.17.0
 cassandra-unit.version=4.3.1.0
 chinook-data-hsqldb.version=0.2
 commons-codec.version=1.16.0

Reply via email to