This is an automated email from the ASF dual-hosted git repository.
granthenke pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/master by this push:
new 41a7c4e [java] Fixes for JDK 12 to 15
41a7c4e is described below
commit 41a7c4e4e8165ec42312afa919550f815b3e808d
Author: Grant Henke <[email protected]>
AuthorDate: Wed Oct 14 08:39:46 2020 -0500
[java] Fixes for JDK 12 to 15
This patch fixes various issues found when testing
with JDK 12 to JDK 15.
The main fix is changing `HostAndPort.toString()`.
`InetSocketAddress.toString()` changed in JDK15
to include “unresolved” in the ouput.
I also needed to fix a few SpotBugs issues and
disabled `kudu-jepsen` on JDK 12+ given
Clojure only supports JDK 8 and 11.
The Hive tests do not run due to HIVE-21508. An
upgrade to Hive 3.2.0 once available should
resolve that issue.
Change-Id: Ie992d089a06e8d4afecda39a234e19a45730381e
Reviewed-on: http://gerrit.cloudera.org:8080/16600
Tested-by: Grant Henke <[email protected]>
Reviewed-by: Hao Hao <[email protected]>
---
java/config/spotbugs/excludeFilter.xml | 11 +++++++++++
java/gradle/dependencies.gradle | 2 +-
java/gradle/tests.gradle | 1 +
.../src/main/scala/org/apache/kudu/backup/TableMetadata.scala | 2 --
.../src/main/scala/org/apache/kudu/backup/KuduBackup.scala | 2 +-
.../src/main/scala/org/apache/kudu/backup/KuduRestore.scala | 4 ++--
.../src/main/java/org/apache/kudu/client/HostAndPort.java | 2 +-
.../src/test/java/org/apache/kudu/util/TestNetUtil.java | 2 +-
java/kudu-jepsen/build.gradle | 11 +++++++++++
.../src/main/scala/org/apache/kudu/spark/kudu/KuduRDD.scala | 2 +-
10 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/java/config/spotbugs/excludeFilter.xml
b/java/config/spotbugs/excludeFilter.xml
index 64e67cb..11da3f9 100644
--- a/java/config/spotbugs/excludeFilter.xml
+++ b/java/config/spotbugs/excludeFilter.xml
@@ -88,6 +88,17 @@
</Or>
</Match>
<Match>
+ <!-- Spotbugs can trigger false positives for redundant null checks on
JDK 11+.
+ See https://github.com/spotbugs/spotbugs/issues/756
+ This is fixed in SpotBugs 4.1.3, but we can't upgrade yet due to
+ https://github.com/spotbugs/spotbugs/issues/1272
+ -->
+ <Or>
+ <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" />
+ <Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE" />
+ </Or>
+ </Match>
+ <Match>
<!-- Disable warnings about mutable objects and the use of public
fields.
Though these are important concerns, we have many instances of this
warning
and "fixing" the warning could have performance implications. -->
diff --git a/java/gradle/dependencies.gradle b/java/gradle/dependencies.gradle
index df6c364..62f838e 100755
--- a/java/gradle/dependencies.gradle
+++ b/java/gradle/dependencies.gradle
@@ -55,7 +55,7 @@ versions += [
protobuf : "3.13.0",
ranger : "2.1.0",
scala211 : "2.11.12",
- scala : "2.12.10",
+ scala : "2.12.12",
scalatest : "3.2.2",
scopt : "3.7.1",
slf4j : "1.7.30",
diff --git a/java/gradle/tests.gradle b/java/gradle/tests.gradle
index 49d9217..89ead79 100644
--- a/java/gradle/tests.gradle
+++ b/java/gradle/tests.gradle
@@ -44,6 +44,7 @@ tasks.withType(Test) {
if (JavaVersion.current().isJava9Compatible()) {
jvmArgs += "--illegal-access=permit"
def reflectionModules = [
+ "java.base/java.io", // java.io reflection is used by Spark
"java.base/java.lang", // java.lang reflection is used by TestUtils
"java.base/java.net", // java.net reflection is used by FakeDNS
"java.base/java.nio", // java.nio reflection is used by Protobuf
diff --git
a/java/kudu-backup-common/src/main/scala/org/apache/kudu/backup/TableMetadata.scala
b/java/kudu-backup-common/src/main/scala/org/apache/kudu/backup/TableMetadata.scala
index 21e2349..236349d 100644
---
a/java/kudu-backup-common/src/main/scala/org/apache/kudu/backup/TableMetadata.scala
+++
b/java/kudu-backup-common/src/main/scala/org/apache/kudu/backup/TableMetadata.scala
@@ -33,7 +33,6 @@ import org.apache.kudu.client.CreateTableOptions
import org.apache.kudu.client.KuduTable
import org.apache.kudu.client.PartialRow
import org.apache.kudu.client.PartitionSchema
-import org.apache.kudu.util.DateUtil
import org.apache.kudu.ColumnSchema
import org.apache.kudu.Schema
import org.apache.kudu.Type
@@ -330,7 +329,6 @@ object TableMetadata {
def getCreateTableOptionsWithoutRangePartitions(
metadata: TableMetadataPB,
restoreOwner: Boolean): CreateTableOptions = {
- val schema = getKuduSchema(metadata)
val options = new CreateTableOptions()
if (restoreOwner) {
options.setOwner(metadata.getTableOwner)
diff --git
a/java/kudu-backup/src/main/scala/org/apache/kudu/backup/KuduBackup.scala
b/java/kudu-backup/src/main/scala/org/apache/kudu/backup/KuduBackup.scala
index cddcc40..4d97452 100644
--- a/java/kudu-backup/src/main/scala/org/apache/kudu/backup/KuduBackup.scala
+++ b/java/kudu-backup/src/main/scala/org/apache/kudu/backup/KuduBackup.scala
@@ -17,7 +17,7 @@
package org.apache.kudu.backup
-import scala.concurrent.forkjoin.ForkJoinPool
+import java.util.concurrent.ForkJoinPool
import org.apache.kudu.spark.kudu.KuduContext
import org.apache.spark.sql.SaveMode
diff --git
a/java/kudu-backup/src/main/scala/org/apache/kudu/backup/KuduRestore.scala
b/java/kudu-backup/src/main/scala/org/apache/kudu/backup/KuduRestore.scala
index 4aad8e2..f7ce9b4 100644
--- a/java/kudu-backup/src/main/scala/org/apache/kudu/backup/KuduRestore.scala
+++ b/java/kudu-backup/src/main/scala/org/apache/kudu/backup/KuduRestore.scala
@@ -17,6 +17,8 @@
package org.apache.kudu.backup
+import java.util.concurrent.ForkJoinPool
+
import org.apache.kudu.backup.Backup.TableMetadataPB
import org.apache.kudu.client.AlterTableOptions
import org.apache.kudu.client.KuduPartitioner
@@ -32,7 +34,6 @@ import org.slf4j.Logger
import org.slf4j.LoggerFactory
import scala.collection.JavaConverters._
import scala.collection.parallel.ForkJoinTaskSupport
-import scala.concurrent.forkjoin.ForkJoinPool
import scala.util.Failure
import scala.util.Success
import scala.util.Try
@@ -84,7 +85,6 @@ object KuduRestore {
}
val backupSchema =
BackupUtils.dataSchema(TableMetadata.getKuduSchema(metadata))
val rowActionCol = backupSchema.fields.last.name
- val table = context.syncClient.openTable(restoreName)
var data = session.sqlContext.read
.format(metadata.getDataFormat)
diff --git
a/java/kudu-client/src/main/java/org/apache/kudu/client/HostAndPort.java
b/java/kudu-client/src/main/java/org/apache/kudu/client/HostAndPort.java
index bebffb7..1aae477 100644
--- a/java/kudu-client/src/main/java/org/apache/kudu/client/HostAndPort.java
+++ b/java/kudu-client/src/main/java/org/apache/kudu/client/HostAndPort.java
@@ -74,6 +74,6 @@ public class HostAndPort {
@Override
public String toString() {
- return address.toString();
+ return address.getHostName() + ":" + address.getPort();
}
}
diff --git
a/java/kudu-client/src/test/java/org/apache/kudu/util/TestNetUtil.java
b/java/kudu-client/src/test/java/org/apache/kudu/util/TestNetUtil.java
index 20a5b06..f92023d 100644
--- a/java/kudu-client/src/test/java/org/apache/kudu/util/TestNetUtil.java
+++ b/java/kudu-client/src/test/java/org/apache/kudu/util/TestNetUtil.java
@@ -79,7 +79,7 @@ public class TestNetUtil {
new HostAndPort("127.0.0.1", 1111),
new HostAndPort("1.2.3.4.5", 0)
);
- assertEquals(NetUtil.hostsAndPortsToString(hostsAndPorts),
"127.0.0.1:1111,1.2.3.4.5:0");
+ assertEquals("127.0.0.1:1111,1.2.3.4.5:0",
NetUtil.hostsAndPortsToString(hostsAndPorts));
}
@Test
diff --git a/java/kudu-jepsen/build.gradle b/java/kudu-jepsen/build.gradle
index 9c87d4e..c23082a2f 100644
--- a/java/kudu-jepsen/build.gradle
+++ b/java/kudu-jepsen/build.gradle
@@ -17,6 +17,17 @@
apply plugin: "nebula.clojure"
+// Clojure doesn't support Java 12+
+// https://clojure.org/releases/downloads#_java_compatibility
+if(JavaVersion.current().isJava12Compatible()) {
+ // Disable all tasks for the `kudu-jepsen` sub-project.
+ gradle.taskGraph.whenReady {
+ gradle.taskGraph.allTasks.each {
+ it.onlyIf { it.project != project }
+ }
+ }
+}
+
repositories {
maven { url "https://clojars.org/repo/" }
}
diff --git
a/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduRDD.scala
b/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduRDD.scala
index 62a2529..84b004f 100644
--- a/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduRDD.scala
+++ b/java/kudu-spark/src/main/scala/org/apache/kudu/spark/kudu/KuduRDD.scala
@@ -60,7 +60,7 @@ class KuduRDD private[kudu] (
.batchSizeBytes(options.batchSize)
.setProjectedColumnNames(projectedCols.toSeq.asJava)
.setFaultTolerant(options.faultTolerantScanner)
- .keepAlivePeriodMs(options.keepAlivePeriodMs)
+ .keepAlivePeriodMs(keepAlivePeriodMs)
.cacheBlocks(true)
// A scan is partitioned to multiple ones. If scan locality is enabled,