diff --git a/build.gradle.kts b/build.gradle.kts index 6f1cc3951..148376f79 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -392,6 +392,9 @@ allprojects { options.encoding = "UTF-8" } withType().configureEach { + if (JavaVersion.current() >= JavaVersion.VERSION_23) { + jvmArgs("-Djava.security.manager=allow") + } testLogging { exceptionFormat = TestExceptionFormat.FULL showStandardStreams = true diff --git a/core/src/main/java/org/apache/calcite/avatica/remote/DoAsAvaticaHttpClient.java b/core/src/main/java/org/apache/calcite/avatica/remote/DoAsAvaticaHttpClient.java index 123f82170..b7884f4c2 100644 --- a/core/src/main/java/org/apache/calcite/avatica/remote/DoAsAvaticaHttpClient.java +++ b/core/src/main/java/org/apache/calcite/avatica/remote/DoAsAvaticaHttpClient.java @@ -33,7 +33,9 @@ public DoAsAvaticaHttpClient(AvaticaHttpClient wrapped, KerberosConnection kerbe this.kerberosUtil = Objects.requireNonNull(kerberosUtil); } - @Override public byte[] send(final byte[] request) { + // See CALCITE-6590 + @Override @SuppressWarnings("removal") + public byte[] send(final byte[] request) { return Subject.doAs(kerberosUtil.getSubject(), new PrivilegedAction() { @Override public byte[] run() { return wrapped.send(request); diff --git a/gradle.properties b/gradle.properties index 10aac8609..f124804f1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -56,7 +56,7 @@ spotbugs.version=3.1.11 asm.version=7.1 bouncycastle.version=1.70 -bytebuddy.version=1.14.10 +bytebuddy.version=1.15.1 dropwizard-metrics.version=4.0.5 # We support Guava versions as old as 14.0.1 (the version used by Hive) # but prefer more recent versions. diff --git a/server/src/test/java/org/apache/calcite/avatica/SpnegoTestUtil.java b/server/src/test/java/org/apache/calcite/avatica/SpnegoTestUtil.java index 03857d8e4..bce68aaf2 100644 --- a/server/src/test/java/org/apache/calcite/avatica/SpnegoTestUtil.java +++ b/server/src/test/java/org/apache/calcite/avatica/SpnegoTestUtil.java @@ -133,6 +133,8 @@ public static void writeSpnegoConf(File configFile, File serverKeytab) } } + // See CALCITE-6590 + @SuppressWarnings("removal") public static void refreshJaasConfiguration() { // This is *extremely* important to make sure we get the right Configuration instance. // Configuration keeps a static instance of Configuration that it will return once it