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,

Reply via email to