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

wlo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/gobblin.git


The following commit(s) were added to refs/heads/master by this push:
     new 234067109 [GOBBLIN-1808] Bump Guava version from 15.0 to 20.0 (#3669)
234067109 is described below

commit 234067109f63860da062fdbb8755c9afc6add9c6
Author: William Lo <[email protected]>
AuthorDate: Wed Apr 12 14:16:41 2023 -0400

    [GOBBLIN-1808] Bump Guava version from 15.0 to 20.0 (#3669)
    
    * Test
    
    * Fix compile time errors with guava 20
    
    * Update docs and scripts to reference to guava 20
    
    * Address review
---
 bin/gobblin-compaction.sh                          |  2 +-
 conf/aws/application.conf                          |  2 +-
 .../gobblin/aws/GobblinAWSConfigurationKeys.java   |  2 +-
 .../resources/GobblinAWSClusterLauncherTest.conf   |  2 +-
 .../data/management/copy/hive/HiveDataset.java     | 27 ++++++++++------------
 .../writer/FileAwareInputStreamDataWriter.java     |  3 +--
 .../partition/CopyableDatasetRequestor.java        |  2 +-
 .../source/LoopingDatasetFinderSource.java         | 11 +++++----
 .../apache/gobblin/hive/HiveRegistrationUnit.java  | 14 +++++------
 .../gobblin-elasticsearch-deps/build.gradle        |  2 +-
 .../org/apache/gobblin/service/FlowStatusTest.java |  3 +--
 .../service/monitoring/JobStatusRetriever.java     |  3 +--
 .../service/monitoring/FsJobStatusRetriever.java   |  9 ++++----
 .../monitoring/LocalFsJobStatusRetriever.java      |  4 ++--
 gobblin-utility/build.gradle                       |  1 +
 .../PriorityIterableBasedRequestAllocator.java     |  9 ++++----
 gradle/scripts/dependencyDefinitions.gradle        |  3 ++-
 gradle/scripts/javadoc.gradle                      |  2 +-
 18 files changed, 50 insertions(+), 51 deletions(-)

diff --git a/bin/gobblin-compaction.sh b/bin/gobblin-compaction.sh
index baa8a6695..1924f385a 100755
--- a/bin/gobblin-compaction.sh
+++ b/bin/gobblin-compaction.sh
@@ -131,7 +131,7 @@ else
     $FWDIR_LIB/gobblin-api-$GOBBLIN_VERSION.jar
     $FWDIR_LIB/gobblin-compaction-$GOBBLIN_VERSION.jar
     $FWDIR_LIB/gobblin-utility-$GOBBLIN_VERSION.jar
-    $FWDIR_LIB/guava-15.0.jar
+    $FWDIR_LIB/guava-20.0.jar
   )
   LIBJARS=$(join , "${LIBJARS[@]}")
 
diff --git a/conf/aws/application.conf b/conf/aws/application.conf
index 5b0850727..ccbf3ba86 100644
--- a/conf/aws/application.conf
+++ b/conf/aws/application.conf
@@ -159,7 +159,7 @@ 
gobblin.aws.master.s3.jars.uri="https://s3-us-west-2.amazonaws.com/gobblin-libs/
 ## All Gobblin Jars and Configuration on S3
 
gobblin.aws.master.s3.conf.files="application.conf,log4j.properties,quartz.properties"
 
gobblin.aws.master.s3.jars.uri="https://s3-us-west-2.amazonaws.com/gobblin-libs/latest-jars/";
-gobblin.aws.master.s3.jars.files="ST4-4.0.4.jar,activation-1.1.1.jar,annotations-2.0.1.jar,ant-1.9.1.jar,ant-launcher-1.9.1.jar,antlr-runtime-3.5.2.jar,aopalliance-1.0.jar,apache-log4j-extras-1.2.17.jar,asm-3.1.jar,asm-commons-3.1.jar,asm-tree-3.1.jar,avro-1.7.7.jar,avro-ipc-1.7.7-tests.jar,avro-ipc-1.7.7.jar,avro-mapred-1.7.7-hadoop2.jar,aws-java-sdk-applicationautoscaling-1.11.8.jar,aws-java-sdk-autoscaling-1.11.8.jar,aws-java-sdk-core-1.11.8.jar,aws-java-sdk-ec2-1.11.8.jar,aws-java-sd
 [...]
+gobblin.aws.master.s3.jars.files="ST4-4.0.4.jar,activation-1.1.1.jar,annotations-2.0.1.jar,ant-1.9.1.jar,ant-launcher-1.9.1.jar,antlr-runtime-3.5.2.jar,aopalliance-1.0.jar,apache-log4j-extras-1.2.17.jar,asm-3.1.jar,asm-commons-3.1.jar,asm-tree-3.1.jar,avro-1.7.7.jar,avro-ipc-1.7.7-tests.jar,avro-ipc-1.7.7.jar,avro-mapred-1.7.7-hadoop2.jar,aws-java-sdk-applicationautoscaling-1.11.8.jar,aws-java-sdk-autoscaling-1.11.8.jar,aws-java-sdk-core-1.11.8.jar,aws-java-sdk-ec2-1.11.8.jar,aws-java-sd
 [...]
 
 gobblin.aws.worker.s3.conf.uri=${gobblin.aws.master.s3.conf.uri}
 gobblin.aws.worker.s3.conf.files=${gobblin.aws.master.s3.conf.files}
diff --git 
a/gobblin-aws/src/main/java/org/apache/gobblin/aws/GobblinAWSConfigurationKeys.java
 
b/gobblin-aws/src/main/java/org/apache/gobblin/aws/GobblinAWSConfigurationKeys.java
index 13d1272c3..c44d15c41 100644
--- 
a/gobblin-aws/src/main/java/org/apache/gobblin/aws/GobblinAWSConfigurationKeys.java
+++ 
b/gobblin-aws/src/main/java/org/apache/gobblin/aws/GobblinAWSConfigurationKeys.java
@@ -129,7 +129,7 @@ public class GobblinAWSConfigurationKeys {
   // of an occurrence of this bug in the JDK and how resolving it reduced the 
size of the JDK by 1 megabyte.
   public static final String DEFAULT_MASTER_S3_JARS_FILES;
   static {
-    DEFAULT_MASTER_S3_JARS_FILES = 
"ST4-4.0.4.jar,activation-1.1.1.jar,annotations-2.0.1.jar,ant-1.9.1.jar,ant-launcher-1.9.1.jar,antlr-runtime-3.5.2.jar,aopalliance-1.0.jar,apache-log4j-extras-1.2.17.jar,asm-3.1.jar,asm-commons-3.1.jar,asm-tree-3.1.jar,avro-1.7.7.jar,avro-ipc-1.7.7-tests.jar,avro-ipc-1.7.7.jar,avro-mapred-1.7.7-hadoop2.jar,aws-java-sdk-applicationautoscaling-1.11.8.jar,aws-java-sdk-autoscaling-1.11.8.jar,aws-java-sdk-core-1.11.8.jar,aws-java-sdk-ec2-1.11.8.jar,aws-java-
 [...]
+    DEFAULT_MASTER_S3_JARS_FILES = 
"ST4-4.0.4.jar,activation-1.1.1.jar,annotations-2.0.1.jar,ant-1.9.1.jar,ant-launcher-1.9.1.jar,antlr-runtime-3.5.2.jar,aopalliance-1.0.jar,apache-log4j-extras-1.2.17.jar,asm-3.1.jar,asm-commons-3.1.jar,asm-tree-3.1.jar,avro-1.7.7.jar,avro-ipc-1.7.7-tests.jar,avro-ipc-1.7.7.jar,avro-mapred-1.7.7-hadoop2.jar,aws-java-sdk-applicationautoscaling-1.11.8.jar,aws-java-sdk-autoscaling-1.11.8.jar,aws-java-sdk-core-1.11.8.jar,aws-java-sdk-ec2-1.11.8.jar,aws-java-
 [...]
   }
 
   // Gobblin AWS worker configuration properties.
diff --git a/gobblin-aws/src/test/resources/GobblinAWSClusterLauncherTest.conf 
b/gobblin-aws/src/test/resources/GobblinAWSClusterLauncherTest.conf
index 8a4904a4a..444109b31 100644
--- a/gobblin-aws/src/test/resources/GobblinAWSClusterLauncherTest.conf
+++ b/gobblin-aws/src/test/resources/GobblinAWSClusterLauncherTest.conf
@@ -152,7 +152,7 @@ 
gobblin.aws.master.s3.jars.uri="https://s3-us-west-2.amazonaws.com/gobblin-libs/
 ## All Gobblin Jars and Configuration on S3
 
gobblin.aws.master.s3.conf.files="application.conf,log4j-aws.properties,quartz.properties"
 
gobblin.aws.master.s3.jars.uri="https://s3-us-west-2.amazonaws.com/gobblin-libs/latest-jars/";
-gobblin.aws.master.s3.jars.files="ST4-4.0.4.jar,activation-1.1.1.jar,annotations-2.0.1.jar,ant-1.9.1.jar,ant-launcher-1.9.1.jar,antlr-runtime-3.5.2.jar,aopalliance-1.0.jar,apache-log4j-extras-1.2.17.jar,asm-3.1.jar,asm-commons-3.1.jar,asm-tree-3.1.jar,avro-1.7.7.jar,avro-ipc-1.7.7-tests.jar,avro-ipc-1.7.7.jar,avro-mapred-1.7.7-hadoop2.jar,aws-java-sdk-applicationautoscaling-1.11.8.jar,aws-java-sdk-autoscaling-1.11.8.jar,aws-java-sdk-core-1.11.8.jar,aws-java-sdk-ec2-1.11.8.jar,aws-java-sd
 [...]
+gobblin.aws.master.s3.jars.files="ST4-4.0.4.jar,activation-1.1.1.jar,annotations-2.0.1.jar,ant-1.9.1.jar,ant-launcher-1.9.1.jar,antlr-runtime-3.5.2.jar,aopalliance-1.0.jar,apache-log4j-extras-1.2.17.jar,asm-3.1.jar,asm-commons-3.1.jar,asm-tree-3.1.jar,avro-1.7.7.jar,avro-ipc-1.7.7-tests.jar,avro-ipc-1.7.7.jar,avro-mapred-1.7.7-hadoop2.jar,aws-java-sdk-applicationautoscaling-1.11.8.jar,aws-java-sdk-autoscaling-1.11.8.jar,aws-java-sdk-core-1.11.8.jar,aws-java-sdk-ec2-1.11.8.jar,aws-java-sd
 [...]
 
 gobblin.aws.worker.s3.conf.uri=${gobblin.aws.master.s3.conf.uri}
 gobblin.aws.worker.s3.conf.files=${gobblin.aws.master.s3.conf.files}
diff --git 
a/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/copy/hive/HiveDataset.java
 
b/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/copy/hive/HiveDataset.java
index 7032a88e2..f2e39c316 100644
--- 
a/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/copy/hive/HiveDataset.java
+++ 
b/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/copy/hive/HiveDataset.java
@@ -17,7 +17,6 @@
 
 package org.apache.gobblin.data.management.copy.hive;
 
-import com.google.common.collect.ImmutableMap;
 import java.io.IOException;
 import java.util.Collections;
 import java.util.Comparator;
@@ -26,11 +25,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import lombok.extern.slf4j.Slf4j;
-
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -40,16 +34,21 @@ import org.apache.hadoop.hive.ql.metadata.Partition;
 import org.apache.hadoop.hive.ql.metadata.Table;
 
 import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Splitter;
-import com.google.common.base.Optional;
-import com.google.common.collect.Iterators;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Lists;
 import com.typesafe.config.Config;
 import com.typesafe.config.ConfigFactory;
 import com.typesafe.config.ConfigValue;
 import com.typesafe.config.ConfigValueType;
-import com.google.common.collect.ImmutableSet;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.extern.slf4j.Slf4j;
 
 import org.apache.gobblin.annotation.Alpha;
 import org.apache.gobblin.configuration.State;
@@ -68,8 +67,6 @@ import org.apache.gobblin.util.ConfigUtils;
 import org.apache.gobblin.util.PathUtils;
 import org.apache.gobblin.util.request_allocation.PushDownRequestor;
 
-import static 
org.apache.gobblin.data.management.copy.hive.HiveTargetPathHelper.*;
-
 /**
  * Hive dataset implementing {@link CopyableDataset}.
  */
@@ -149,7 +146,7 @@ public class HiveDataset implements 
PrioritizedCopyableDataset {
   public Iterator<FileSet<CopyEntity>> getFileSetIterator(FileSystem targetFs, 
CopyConfiguration configuration)
       throws IOException {
     if (!canCopyTable(configuration)) {
-      return Iterators.emptyIterator();
+      return Collections.emptyIterator();
     }
     try {
       return new HiveCopyEntityHelper(this, configuration, 
targetFs).getCopyEntities(configuration);
@@ -158,7 +155,7 @@ public class HiveDataset implements 
PrioritizedCopyableDataset {
       if (configuration.isAbortOnSingleDatasetFailure()) {
         throw new RuntimeException(ioe);
       }
-      return Iterators.emptyIterator();
+      return Collections.emptyIterator();
     }
   }
 
@@ -171,7 +168,7 @@ public class HiveDataset implements 
PrioritizedCopyableDataset {
       Comparator<FileSet<CopyEntity>> prioritizer, 
PushDownRequestor<FileSet<CopyEntity>> requestor)
       throws IOException {
     if (!canCopyTable(configuration)) {
-      return Iterators.emptyIterator();
+      return Collections.emptyIterator();
     }
     try {
       List<FileSet<CopyEntity>> fileSetList = Lists.newArrayList(new 
HiveCopyEntityHelper(this, configuration, targetFs)
@@ -183,7 +180,7 @@ public class HiveDataset implements 
PrioritizedCopyableDataset {
       if (configuration.isAbortOnSingleDatasetFailure()) {
         throw new RuntimeException(ioe);
       }
-      return Iterators.emptyIterator();
+      return Collections.emptyIterator();
     }
   }
 
diff --git 
a/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/copy/writer/FileAwareInputStreamDataWriter.java
 
b/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/copy/writer/FileAwareInputStreamDataWriter.java
index ed6c754d5..837174c20 100644
--- 
a/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/copy/writer/FileAwareInputStreamDataWriter.java
+++ 
b/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/copy/writer/FileAwareInputStreamDataWriter.java
@@ -42,7 +42,6 @@ import com.codahale.metrics.Meter;
 import com.google.common.base.Optional;
 import com.google.common.base.Predicate;
 import com.google.common.base.Strings;
-import com.google.common.collect.Iterators;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -458,7 +457,7 @@ public class FileAwareInputStreamDataWriter extends 
InstrumentedDataWriter<FileA
       setFilePermissions(copyableFile);
 
       Iterator<OwnerAndPermission> ancestorOwnerAndPermissionIt =
-          copyableFile.getAncestorsOwnerAndPermission() == null ? 
Iterators.emptyIterator()
+          copyableFile.getAncestorsOwnerAndPermission() == null ? 
Collections.emptyIterator()
               : copyableFile.getAncestorsOwnerAndPermission().iterator();
 
       ensureDirectoryExists(this.fs, outputFilePath.getParent(), 
ancestorOwnerAndPermissionIt);
diff --git 
a/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/partition/CopyableDatasetRequestor.java
 
b/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/partition/CopyableDatasetRequestor.java
index e5ca9f63b..692ec99c7 100644
--- 
a/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/partition/CopyableDatasetRequestor.java
+++ 
b/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/partition/CopyableDatasetRequestor.java
@@ -90,7 +90,7 @@ public class CopyableDatasetRequestor implements 
PushDownRequestor<FileSet<CopyE
         throw new RuntimeException(String.format("Could not get FileSets for 
dataset %s", this.dataset.datasetURN()), exc);
       }
       log.error(String.format("Could not get FileSets for dataset %s. 
Skipping.", this.dataset.datasetURN()), exc);
-      return Iterators.emptyIterator();
+      return Collections.emptyIterator();
     }
   }
 
diff --git 
a/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/source/LoopingDatasetFinderSource.java
 
b/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/source/LoopingDatasetFinderSource.java
index 8e39bd20f..91a1ed942 100644
--- 
a/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/source/LoopingDatasetFinderSource.java
+++ 
b/gobblin-data-management/src/main/java/org/apache/gobblin/data/management/source/LoopingDatasetFinderSource.java
@@ -17,6 +17,7 @@
 package org.apache.gobblin.data.management.source;
 
 import java.io.IOException;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Optional;
@@ -31,6 +32,9 @@ import com.google.common.collect.Iterators;
 import com.google.common.collect.Lists;
 import com.google.common.collect.PeekingIterator;
 
+import javax.annotation.Nullable;
+import lombok.extern.slf4j.Slf4j;
+
 import org.apache.gobblin.configuration.ConfigurationKeys;
 import org.apache.gobblin.configuration.SourceState;
 import org.apache.gobblin.configuration.WorkUnitState;
@@ -44,9 +48,6 @@ import org.apache.gobblin.source.workunit.BasicWorkUnitStream;
 import org.apache.gobblin.source.workunit.WorkUnit;
 import org.apache.gobblin.source.workunit.WorkUnitStream;
 
-import javax.annotation.Nullable;
-import lombok.extern.slf4j.Slf4j;
-
 /**
  * A source that processes datasets generated by a {@link 
org.apache.gobblin.dataset.DatasetsFinder}, processing a few of
  * them each run, and continuing from where it left off in the next run. When 
it is done processing all the datasets, it
@@ -160,7 +161,7 @@ public abstract class LoopingDatasetFinderSource<S, D> 
extends DatasetFinderSour
         this.currentPartitionIterator = 
getPartitionIterator((PartitionableDataset) equalDataset);
         
advanceUntilLargerThan(Iterators.peekingIterator(this.currentPartitionIterator),
 previousPartitionUrnWatermark);
       } else {
-        this.currentPartitionIterator = Iterators.emptyIterator();
+        this.currentPartitionIterator = Collections.emptyIterator();
       }
     }
 
@@ -188,7 +189,7 @@ public abstract class LoopingDatasetFinderSource<S, D> 
extends DatasetFinderSour
             .iterator();
       } catch (IOException ioe) {
         log.error("Failed to get partitions for dataset " + dataset.getUrn());
-        return Iterators.emptyIterator();
+        return Collections.emptyIterator();
       }
     }
 
diff --git 
a/gobblin-hive-registration/src/main/java/org/apache/gobblin/hive/HiveRegistrationUnit.java
 
b/gobblin-hive-registration/src/main/java/org/apache/gobblin/hive/HiveRegistrationUnit.java
index adb024b64..841d4161d 100644
--- 
a/gobblin-hive-registration/src/main/java/org/apache/gobblin/hive/HiveRegistrationUnit.java
+++ 
b/gobblin-hive-registration/src/main/java/org/apache/gobblin/hive/HiveRegistrationUnit.java
@@ -30,13 +30,13 @@ import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 import com.google.common.reflect.TypeToken;
 
-import org.apache.gobblin.annotation.Alpha;
-import org.apache.gobblin.configuration.State;
-
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.ToString;
 
+import org.apache.gobblin.annotation.Alpha;
+import org.apache.gobblin.configuration.State;
+
 
 /**
  * A class that represents a Hive table or partition.
@@ -126,13 +126,13 @@ public class HiveRegistrationUnit {
     if (state.contains(key)) {
       Optional<T> fieldValue;
 
-      if (new TypeToken<Boolean>() {}.isAssignableFrom(token)) {
+      if (new TypeToken<Boolean>() 
{}.getRawType().isAssignableFrom(token.getClass())) {
         fieldValue = (Optional<T>) Optional.of(state.getPropAsBoolean(key));
-      } else if (new TypeToken<Integer>() {}.isAssignableFrom(token)) {
+      } else if (new TypeToken<Integer>() 
{}.getRawType().isAssignableFrom(token.getClass())) {
         fieldValue = (Optional<T>) Optional.of(state.getPropAsInt(key));
-      } else if (new TypeToken<Long>() {}.isAssignableFrom(token)) {
+      } else if (new TypeToken<Long>() 
{}.getRawType().isAssignableFrom(token.getClass())) {
         fieldValue = (Optional<T>) Optional.of(state.getPropAsLong(key));
-      } else if (new TypeToken<List<String>>() {}.isAssignableFrom(token)) {
+      } else if (new TypeToken<List<String>>() 
{}.getRawType().isAssignableFrom(token.getClass())) {
         fieldValue = (Optional<T>) Optional.of(state.getPropAsList(key));
       } else {
         fieldValue = (Optional<T>) Optional.of(state.getProp(key));
diff --git a/gobblin-modules/gobblin-elasticsearch-deps/build.gradle 
b/gobblin-modules/gobblin-elasticsearch-deps/build.gradle
index 8b8c04a93..a763c1d49 100644
--- a/gobblin-modules/gobblin-elasticsearch-deps/build.gradle
+++ b/gobblin-modules/gobblin-elasticsearch-deps/build.gradle
@@ -33,7 +33,7 @@ tasks.remove(tasks.uploadShadow)
 dependencies {
   compile "org.elasticsearch.client:transport:5.6.8"
   compile "org.elasticsearch.client:elasticsearch-rest-high-level-client:5.6.8"
-  compile "com.google.guava:guava:18.0"
+  compile externalDependency.guava
 }
 
 
diff --git 
a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-client/src/test/java/org/apache/gobblin/service/FlowStatusTest.java
 
b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-client/src/test/java/org/apache/gobblin/service/FlowStatusTest.java
index 317bb53f9..c507b0310 100644
--- 
a/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-client/src/test/java/org/apache/gobblin/service/FlowStatusTest.java
+++ 
b/gobblin-restli/gobblin-flow-config-service/gobblin-flow-config-service-client/src/test/java/org/apache/gobblin/service/FlowStatusTest.java
@@ -29,7 +29,6 @@ import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 
 import com.google.common.base.Suppliers;
-import com.google.common.collect.Iterators;
 import com.google.common.collect.Lists;
 import com.google.inject.Binder;
 import com.google.inject.Guice;
@@ -67,7 +66,7 @@ public class FlowStatusTest {
     @Override
     public Iterator<org.apache.gobblin.service.monitoring.JobStatus> 
getJobStatusesForFlowExecution(String flowName,
         String flowGroup, long flowExecutionId, String jobGroup, String 
jobName) {
-      return Iterators.emptyIterator();
+      return Collections.emptyIterator();
     }
 
     @Override
diff --git 
a/gobblin-runtime/src/main/java/org/apache/gobblin/service/monitoring/JobStatusRetriever.java
 
b/gobblin-runtime/src/main/java/org/apache/gobblin/service/monitoring/JobStatusRetriever.java
index 26fc76fb9..e5845fe37 100644
--- 
a/gobblin-runtime/src/main/java/org/apache/gobblin/service/monitoring/JobStatusRetriever.java
+++ 
b/gobblin-runtime/src/main/java/org/apache/gobblin/service/monitoring/JobStatusRetriever.java
@@ -30,7 +30,6 @@ import java.util.stream.Collectors;
 import com.google.common.base.Supplier;
 import com.google.common.base.Suppliers;
 import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterators;
 import com.google.common.collect.Ordering;
 import com.typesafe.config.ConfigFactory;
 
@@ -99,7 +98,7 @@ public abstract class JobStatusRetriever implements 
LatestFlowExecutionIdTracker
   public Iterator<JobStatus> getLatestJobStatusByFlowNameAndGroup(String 
flowName, String flowGroup) {
     long latestExecutionId = getLatestExecutionIdForFlow(flowName, flowGroup);
 
-    return latestExecutionId == -1L ? Iterators.emptyIterator()
+    return latestExecutionId == -1L ? Collections.emptyIterator()
         : getJobStatusesForFlowExecution(flowName, flowGroup, 
latestExecutionId);
   }
 
diff --git 
a/gobblin-service/src/main/java/org/apache/gobblin/service/monitoring/FsJobStatusRetriever.java
 
b/gobblin-service/src/main/java/org/apache/gobblin/service/monitoring/FsJobStatusRetriever.java
index 613dc7f69..15fa2eee6 100644
--- 
a/gobblin-service/src/main/java/org/apache/gobblin/service/monitoring/FsJobStatusRetriever.java
+++ 
b/gobblin-service/src/main/java/org/apache/gobblin/service/monitoring/FsJobStatusRetriever.java
@@ -19,6 +19,7 @@ package org.apache.gobblin.service.monitoring;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
@@ -81,14 +82,14 @@ public class FsJobStatusRetriever extends 
JobStatusRetriever {
       for (String tableName: tableNames) {
         List<State> jobStates = this.stateStore.getAll(storeName, tableName);
         if (jobStates.isEmpty()) {
-          return Iterators.emptyIterator();
+          return Collections.emptyIterator();
         }
         jobStatuses.add(getJobStatus(jobStates.get(0)));
       }
       return jobStatuses.iterator();
     } catch (IOException e) {
       log.error(String.format("IOException encountered when retrieving job 
statuses for flow: %s,%s,%s", flowGroup, flowName, flowExecutionId), e);
-      return Iterators.emptyIterator();
+      return Collections.emptyIterator();
     }
   }
 
@@ -105,13 +106,13 @@ public class FsJobStatusRetriever extends 
JobStatusRetriever {
       String tableName = 
KafkaJobStatusMonitor.jobStatusTableName(flowExecutionId, jobGroup, jobName);
       List<State> jobStates = this.stateStore.getAll(storeName, tableName);
       if (jobStates.isEmpty()) {
-        return Iterators.emptyIterator();
+        return Collections.emptyIterator();
       } else {
         return Iterators.singletonIterator(getJobStatus(jobStates.get(0)));
       }
     } catch (IOException e) {
       log.error(String.format("Exception encountered when listing files for 
flow: %s,%s,%s;%s,%s", flowGroup, flowName, flowExecutionId, jobGroup, 
jobName), e);
-      return Iterators.emptyIterator();
+      return Collections.emptyIterator();
     }
   }
 
diff --git 
a/gobblin-service/src/main/java/org/apache/gobblin/service/monitoring/LocalFsJobStatusRetriever.java
 
b/gobblin-service/src/main/java/org/apache/gobblin/service/monitoring/LocalFsJobStatusRetriever.java
index b5aac35ae..84dbb60ce 100644
--- 
a/gobblin-service/src/main/java/org/apache/gobblin/service/monitoring/LocalFsJobStatusRetriever.java
+++ 
b/gobblin-service/src/main/java/org/apache/gobblin/service/monitoring/LocalFsJobStatusRetriever.java
@@ -21,11 +21,11 @@ import java.io.File;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
 import com.google.common.base.Preconditions;
-import com.google.common.collect.Iterators;
 import com.typesafe.config.Config;
 
 import javax.inject.Inject;
@@ -97,7 +97,7 @@ public class LocalFsJobStatusRetriever extends 
JobStatusRetriever {
       jobStatus = 
JobStatus.builder().flowName(flowName).flowGroup(flowGroup).flowExecutionId(flowExecutionId).
           
jobName(jobName).jobGroup(jobGroup).jobExecutionId(flowExecutionId).eventName(ExecutionStatus.PENDING.name()).build();
     } else {
-      return Iterators.emptyIterator();
+      return Collections.emptyIterator();
     }
 
     jobStatuses.add(jobStatus);
diff --git a/gobblin-utility/build.gradle b/gobblin-utility/build.gradle
index 7bba0ec2b..b916f214c 100644
--- a/gobblin-utility/build.gradle
+++ b/gobblin-utility/build.gradle
@@ -49,6 +49,7 @@ dependencies {
   compile externalDependency.opencsv
   compile externalDependency.hadoopHdfs
   compile externalDependency.groovy
+  compile externalDependency.errorProne
 
   runtimeOnly externalDependency.hadoopCommon
   runtimeOnly externalDependency.hadoopClientCore
diff --git 
a/gobblin-utility/src/main/java/org/apache/gobblin/util/request_allocation/PriorityIterableBasedRequestAllocator.java
 
b/gobblin-utility/src/main/java/org/apache/gobblin/util/request_allocation/PriorityIterableBasedRequestAllocator.java
index be58e6d14..b24bfd399 100644
--- 
a/gobblin-utility/src/main/java/org/apache/gobblin/util/request_allocation/PriorityIterableBasedRequestAllocator.java
+++ 
b/gobblin-utility/src/main/java/org/apache/gobblin/util/request_allocation/PriorityIterableBasedRequestAllocator.java
@@ -17,20 +17,21 @@
 
 package org.apache.gobblin.util.request_allocation;
 
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 
-import lombok.AccessLevel;
-import lombok.Getter;
-
 import org.slf4j.Logger;
 
 import com.google.common.base.Function;
 import com.google.common.base.Optional;
 import com.google.common.collect.Iterators;
 
+import lombok.AccessLevel;
+import lombok.Getter;
+
 import org.apache.gobblin.util.Either;
 import org.apache.gobblin.util.ExecutorsUtils;
 import org.apache.gobblin.util.executors.IteratorExecutor;
@@ -96,7 +97,7 @@ public abstract class PriorityIterableBasedRequestAllocator<T 
extends Request<T>
       } catch (InterruptedException ie) {
         log.error("Request allocation was interrupted.");
         return new AllocatedRequestsIteratorBase<>(
-            
Iterators.<AllocatedRequestsIteratorBase.RequestWithResourceRequirement<T>>emptyIterator(),
 resourcePool);
+            Collections.emptyIterator(), resourcePool);
       }
     }
 
diff --git a/gradle/scripts/dependencyDefinitions.gradle 
b/gradle/scripts/dependencyDefinitions.gradle
index 56511ff05..cffec8495 100644
--- a/gradle/scripts/dependencyDefinitions.gradle
+++ b/gradle/scripts/dependencyDefinitions.gradle
@@ -49,8 +49,9 @@ ext.externalDependency = [
     "commonsPool": "org.apache.commons:commons-pool2:2.4.2",
     "datanucleusCore": "org.datanucleus:datanucleus-core:3.2.10",
     "datanucleusRdbms": "org.datanucleus:datanucleus-rdbms:3.2.9",
+    "errorProne": "com.google.errorprone:error_prone_annotations:2.0.15",
     "eventhub": "com.microsoft.azure:azure-eventhubs:0.9.0",
-    "guava": "com.google.guava:guava:15.0",
+    "guava": "com.google.guava:guava:20.0",
     "groovy": "org.codehaus.groovy:groovy:2.4.8",
     "gson": "com.google.code.gson:gson:2.6.2",
     "gsonJavatimeSerialisers": 
"com.fatboyindustrial.gson-javatime-serialisers:gson-javatime-serialisers:1.1.1",
diff --git a/gradle/scripts/javadoc.gradle b/gradle/scripts/javadoc.gradle
index a2be55242..8a21bc01d 100644
--- a/gradle/scripts/javadoc.gradle
+++ b/gradle/scripts/javadoc.gradle
@@ -81,7 +81,7 @@ subprojects {
     // Add standard javadoc repositories so we can reference classes in them 
using @link
     tasks.javadoc.options.links 
"http://typesafehub.github.io/config/latest/api/";,
         "https://docs.oracle.com/javase/7/docs/api/";,
-        "http://google.github.io/guava/releases/15.0/api/docs/";,
+        "http://google.github.io/guava/releases/20.0/api/docs/";,
         "http://hadoop.apache.org/docs/r${rootProject.ext.hadoopVersion}/api/";,
         
"https://hive.apache.org/javadocs/r${rootProject.ext.hiveVersion}/api/";,
         "http://avro.apache.org/docs/${avroVersion}/api/java/";,

Reply via email to