You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by je...@apache.org on 2020/01/27 19:00:11 UTC

[tez] branch branch-0.9 updated: TEZ-4101. Eliminate some guava dependencies by Java8+ features - Preconditions

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

jeagles pushed a commit to branch branch-0.9
in repository https://gitbox.apache.org/repos/asf/tez.git


The following commit(s) were added to refs/heads/branch-0.9 by this push:
     new 3598d85  TEZ-4101. Eliminate some guava dependencies by Java8+ features - Preconditions
3598d85 is described below

commit 3598d8515f3f71d24fae4f9a0b52d2de2bf13cf0
Author: László Bodor <bo...@gmail.com>
AuthorDate: Mon Jan 27 12:44:43 2020 -0600

    TEZ-4101. Eliminate some guava dependencies by Java8+ features - Preconditions
    
    Signed-off-by: Jonathan Eagles <je...@apache.org>
    (cherry picked from commit cf111b1c896db94d40ea92fc6da2a6fcce356114)
---
 .../java/org/apache/tez/client/CallerContext.java  |   2 +-
 .../main/java/org/apache/tez/client/TezClient.java |   5 +-
 .../java/org/apache/tez/client/TezClientUtils.java |  10 +-
 .../java/org/apache/tez/common/Preconditions.java  | 115 ++++++++++++++++++++
 .../main/java/org/apache/tez/common/TezUtils.java  |   6 +-
 .../common/counters/FileSystemCounterGroup.java    |   5 +-
 .../tez/common/counters/FrameworkCounterGroup.java |   5 +-
 .../src/main/java/org/apache/tez/dag/api/DAG.java  |  11 +-
 .../org/apache/tez/dag/api/DataSinkDescriptor.java |   4 +-
 .../apache/tez/dag/api/DataSourceDescriptor.java   |   4 +-
 .../java/org/apache/tez/dag/api/EdgeProperty.java  |   2 +-
 .../org/apache/tez/dag/api/EntityDescriptor.java   |   5 +-
 .../apache/tez/dag/api/NamedEntityDescriptor.java  |   2 +-
 .../org/apache/tez/dag/api/TaskLocationHint.java   |   5 +-
 .../main/java/org/apache/tez/dag/api/Vertex.java   |   2 +-
 .../tez/dag/api/VertexManagerPluginContext.java    |   2 +-
 .../apache/tez/dag/api/client/DAGClientImpl.java   |   2 +-
 .../runtime/api/events/InputInitializerEvent.java  |   7 +-
 .../api/events/InputUpdatePayloadEvent.java        |   5 +-
 .../tez/runtime/api/events/VertexManagerEvent.java |   2 +-
 .../api/ServicePluginsDescriptor.java              |   2 +-
 .../org/apache/tez/common/AsyncDispatcher.java     |   1 -
 .../tez/common/AsyncDispatcherConcurrent.java      |   1 -
 .../java/org/apache/tez/common/Preconditions.java  | 116 +++++++++++++++++++++
 .../org/apache/tez/common/TezSharedExecutor.java   |   1 -
 .../java/org/apache/tez/dag/records/TezDAGID.java  |   2 +-
 .../java/org/apache/tez/dag/records/TezTaskID.java |   2 +-
 .../org/apache/tez/dag/records/TezVertexID.java    |   2 +-
 .../resources/InitialMemoryRequestContext.java     |   9 +-
 .../org/apache/tez/dag/app/ContainerContext.java   |  21 ++--
 .../tez/dag/app/ContainerLauncherContextImpl.java  |  11 +-
 .../java/org/apache/tez/dag/app/DAGAppMaster.java  |   9 +-
 .../org/apache/tez/dag/app/RecoveryParser.java     |   2 +-
 .../tez/dag/app/TaskCommunicatorContextImpl.java   |   9 +-
 .../tez/dag/app/TaskCommunicatorManager.java       |   2 +-
 .../tez/dag/app/TezTaskCommunicatorImpl.java       |   7 +-
 .../dag/app/dag/RootInputInitializerManager.java   |   9 +-
 .../tez/dag/app/dag/StateChangeNotifier.java       |  10 +-
 .../DAGAppMasterEventUserServiceFatalError.java    |   2 +-
 .../dag/event/TaskAttemptEventAttemptFailed.java   |   5 +-
 .../tez/dag/app/dag/event/TaskEventTAFailed.java   |   5 +-
 .../org/apache/tez/dag/app/dag/impl/DAGImpl.java   |   2 +-
 .../java/org/apache/tez/dag/app/dag/impl/Edge.java |   2 +-
 .../app/dag/impl/ImmediateStartVertexManager.java  |   2 +-
 .../tez/dag/app/dag/impl/OneToOneEdgeManager.java  |   2 +-
 .../app/dag/impl/OneToOneEdgeManagerOnDemand.java  |   2 +-
 .../app/dag/impl/OutputCommitterContextImpl.java   |  10 +-
 .../dag/app/dag/impl/RootInputVertexManager.java   |   2 +-
 .../dag/app/dag/impl/ScatterGatherEdgeManager.java |   2 +-
 .../tez/dag/app/dag/impl/TaskAttemptImpl.java      |   2 +-
 .../org/apache/tez/dag/app/dag/impl/TaskImpl.java  |   2 +-
 .../impl/TezRootInputInitializerContextImpl.java   |  11 +-
 .../apache/tez/dag/app/dag/impl/VertexImpl.java    |   2 +-
 .../apache/tez/dag/app/dag/impl/VertexManager.java |  15 +--
 .../dag/app/launcher/ContainerLauncherManager.java |   2 +-
 .../apache/tez/dag/app/launcher/ContainerOp.java   |   2 +-
 .../dag/app/launcher/LocalContainerLauncher.java   |   2 +-
 .../tez/dag/app/rm/DagAwareYarnTaskScheduler.java  |   2 +-
 .../tez/dag/app/rm/TaskSchedulerContextImpl.java   |   4 +-
 .../tez/dag/app/rm/TaskSchedulerManager.java       |   8 +-
 .../tez/dag/app/rm/YarnTaskSchedulerService.java   |   2 +-
 .../tez/dag/app/rm/container/AMContainerImpl.java  |   2 +-
 .../tez/dag/app/rm/container/AMContainerTask.java  |   4 +-
 .../app/rm/container/ContainerContextMatcher.java  |  11 +-
 .../org/apache/tez/dag/app/web/WebUIService.java   |   2 +-
 .../org/apache/tez/dag/history/utils/DAGUtils.java |   2 +-
 .../org/apache/tez/dag/app/MockDAGAppMaster.java   |   2 +-
 .../org/apache/tez/dag/app/TestDAGAppMaster.java   |   2 +-
 .../tez/dag/app/rm/TestTaskSchedulerHelpers.java   |  10 +-
 .../tez/test/GraceShuffleVertexManagerForTest.java |   5 +-
 .../org/apache/tez/examples/CartesianProduct.java  |   2 +-
 .../org/apache/tez/examples/HashJoinExample.java   |   2 +-
 .../java/org/apache/tez/examples/JoinDataGen.java  |   2 +-
 .../java/org/apache/tez/examples/JoinValidate.java |   2 +-
 .../org/apache/tez/examples/OrderedWordCount.java  |   2 +-
 .../apache/tez/examples/SortMergeJoinExample.java  |   2 +-
 .../java/org/apache/tez/examples/WordCount.java    |   2 +-
 .../launcher/TezTestServiceContainerLauncher.java  |   2 +-
 .../app/rm/TezTestServiceTaskSchedulerService.java |   2 +-
 .../tez/service/MiniTezTestServiceCluster.java     |   2 +-
 .../tez/service/impl/ContainerRunnerImpl.java      |   2 +-
 .../apache/tez/service/impl/TezTestService.java    |   2 +-
 .../apache/tez/shufflehandler/ShuffleHandler.java  |   2 +-
 .../tez/tests/ExternalTezServiceTestHelper.java    |   4 +-
 .../mapred/split/TezGroupedSplitsInputFormat.java  |   2 +-
 .../mapred/split/TezMapredSplitsGrouper.java       |   2 +-
 .../split/TezGroupedSplitsInputFormat.java         |   2 +-
 .../mapreduce/split/TezMapReduceSplitsGrouper.java |   2 +-
 .../org/apache/tez/mapreduce/common/Utils.java     |   5 +-
 .../mapreduce/grouper/MapReduceSplitContainer.java |   4 +-
 .../mapreduce/grouper/MapredSplitContainer.java    |   4 +-
 .../tez/mapreduce/grouper/TezSplitGrouper.java     |   2 +-
 .../tez/mapreduce/hadoop/InputSplitInfoMem.java    |   2 +-
 .../tez/mapreduce/hadoop/MRInputHelpers.java       |  11 +-
 .../org/apache/tez/mapreduce/input/MRInput.java    |   2 +-
 .../apache/tez/mapreduce/input/MultiMRInput.java   |   2 +-
 .../tez/mapreduce/input/base/MRInputBase.java      |   2 +-
 .../tez/mapreduce/lib/MRReaderMapReduce.java       |   5 +-
 .../apache/tez/mapreduce/lib/MRReaderMapred.java   |   5 +-
 .../org/apache/tez/mapreduce/output/MROutput.java  |   2 +-
 .../java/org/apache/tez/history/ATSImportTool.java |   2 +-
 .../apache/tez/history/parser/ATSFileParser.java   |   2 +-
 .../tez/history/parser/SimpleHistoryParser.java    |   2 +-
 .../tez/history/parser/datamodel/BaseParser.java   |   2 +-
 .../tez/history/parser/datamodel/DagInfo.java      |   2 +-
 .../history/parser/datamodel/TaskAttemptInfo.java  |   2 +-
 .../tez/history/parser/datamodel/TaskInfo.java     |   2 +-
 .../tez/history/parser/datamodel/VertexInfo.java   |   2 +-
 .../org/apache/tez/runtime/InputReadyTracker.java  |   2 +-
 .../tez/runtime/LogicalIOProcessorRuntimeTask.java |   2 +-
 .../apache/tez/runtime/api/impl/EventMetaData.java |   7 +-
 .../org/apache/tez/runtime/api/impl/TaskSpec.java  |  25 ++---
 .../tez/runtime/api/impl/TaskStatistics.java       |   2 +-
 .../tez/runtime/api/impl/TezInputContextImpl.java  |  15 ++-
 .../api/impl/TezMergedInputContextImpl.java        |   9 +-
 .../tez/runtime/api/impl/TezOutputContextImpl.java |  11 +-
 .../runtime/api/impl/TezProcessorContextImpl.java  |   9 +-
 .../tez/runtime/api/impl/TezTaskContextImpl.java   |  29 +++---
 .../common/resources/MemoryDistributor.java        |  11 +-
 .../runtime/common/resources/ScalingAllocator.java |   2 +-
 .../java/org/apache/tez/runtime/task/TezChild.java |   2 +-
 .../apache/tez/runtime/task/TezTaskRunner2.java    |   2 +-
 .../tez/runtime/task/TestTaskExecution2.java       |   2 +-
 .../main/java/org/apache/hadoop/io/FileChunk.java  |   5 +-
 .../vertexmanager/FairShuffleVertexManager.java    |   2 +-
 .../vertexmanager/InputReadyVertexManager.java     |   2 +-
 .../vertexmanager/ShuffleVertexManager.java        |   2 +-
 .../vertexmanager/ShuffleVertexManagerBase.java    |   2 +-
 .../java/org/apache/tez/http/HttpConnection.java   |   2 +-
 .../tez/http/async/netty/AsyncHttpConnection.java  |   2 +-
 .../CartesianProductCombination.java               |   2 +-
 .../cartesianproduct/CartesianProductConfig.java   |   2 +-
 .../CartesianProductEdgeManager.java               |   2 +-
 .../CartesianProductVertexManager.java             |   2 +-
 .../tez/runtime/library/common/ConfigUtils.java    |   2 +-
 .../common/MemoryUpdateCallbackHandler.java        |   2 +-
 .../tez/runtime/library/common/ValuesIterator.java |   2 +-
 .../library/common/shuffle/DiskFetchedInput.java   |   2 +-
 .../runtime/library/common/shuffle/Fetcher.java    |   2 +-
 .../common/shuffle/LocalDiskFetchedInput.java      |   2 +-
 .../library/common/shuffle/MemoryFetchedInput.java |   2 +-
 .../library/common/shuffle/ShuffleUtils.java       |   2 +-
 .../common/shuffle/impl/ShuffleManager.java        |   2 +-
 .../shuffle/orderedgrouped/MergeManager.java       |   2 +-
 .../common/shuffle/orderedgrouped/Shuffle.java     |   2 +-
 .../shuffle/orderedgrouped/ShuffleScheduler.java   |   2 +-
 .../library/common/sort/impl/ExternalSorter.java   |   2 +-
 .../library/common/sort/impl/PipelinedSorter.java  |   2 +-
 .../common/sort/impl/dflt/DefaultSorter.java       |   2 +-
 .../task/local/output/TezTaskOutputFiles.java      |   2 +-
 .../writers/UnorderedPartitionedKVWriter.java      |   2 +-
 .../library/conf/OrderedGroupedKVInputConfig.java  |  17 +--
 .../conf/OrderedPartitionedKVEdgeConfig.java       |   5 +-
 .../conf/OrderedPartitionedKVOutputConfig.java     |  23 ++--
 .../library/conf/UnorderedKVEdgeConfig.java        |   5 +-
 .../library/conf/UnorderedKVInputConfig.java       |  15 +--
 .../library/conf/UnorderedKVOutputConfig.java      |  15 +--
 .../conf/UnorderedPartitionedKVEdgeConfig.java     |   5 +-
 .../conf/UnorderedPartitionedKVOutputConfig.java   |  19 ++--
 .../library/input/OrderedGroupedKVInput.java       |   2 +-
 .../runtime/library/input/UnorderedKVInput.java    |   2 +-
 .../library/output/OrderedPartitionedKVOutput.java |   2 +-
 .../output/UnorderedPartitionedKVOutput.java       |   2 +-
 .../WeightedScalingMemoryDistributor.java          |   2 +-
 .../apache/tez/runtime/library/utils/Grouper.java  |   2 +-
 .../library/common/sort/impl/TestTezMerger.java    |   2 +-
 .../examples/BroadcastAndOneToOneExample.java      |   2 +-
 .../tez/mapreduce/examples/BroadcastLoadGen.java   |   2 +-
 .../tez/mapreduce/examples/CartesianProduct.java   |   2 +-
 .../tez/mapreduce/examples/UnionExample.java       |   2 +-
 .../helpers/SplitsInClientOptionParser.java        |   2 +-
 .../apache/tez/mapreduce/TestMRRJobsDAGApi.java    |   2 +-
 .../test/RecoveryServiceWithEventHandlingHook.java |   2 +-
 .../org/apache/tez/test/TestPipelinedShuffle.java  |   2 +-
 .../test/java/org/apache/tez/test/TestTezJobs.java |   2 +-
 .../java/org/apache/tez/analyzer/CSVResult.java    |   2 +-
 .../tez/analyzer/plugins/CriticalPathAnalyzer.java |   2 +-
 .../apache/tez/analyzer/plugins/SkewAnalyzer.java  |   2 +-
 .../tez/analyzer/plugins/TezAnalyzerBase.java      |   2 +-
 179 files changed, 609 insertions(+), 371 deletions(-)

diff --git a/tez-api/src/main/java/org/apache/tez/client/CallerContext.java b/tez-api/src/main/java/org/apache/tez/client/CallerContext.java
index 809cf47..f6c67cf 100644
--- a/tez-api/src/main/java/org/apache/tez/client/CallerContext.java
+++ b/tez-api/src/main/java/org/apache/tez/client/CallerContext.java
@@ -24,7 +24,7 @@ import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.classification.InterfaceStability.Unstable;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 @Public
 @Unstable
diff --git a/tez-api/src/main/java/org/apache/tez/client/TezClient.java b/tez-api/src/main/java/org/apache/tez/client/TezClient.java
index ad00592..a615179 100644
--- a/tez-api/src/main/java/org/apache/tez/client/TezClient.java
+++ b/tez-api/src/main/java/org/apache/tez/client/TezClient.java
@@ -30,6 +30,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.TimeUnit;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Objects;
 
 import javax.annotation.Nullable;
 
@@ -83,7 +84,7 @@ import org.apache.tez.dag.api.client.DAGClientImpl;
 import org.apache.tez.dag.api.records.DAGProtos.DAGPlan;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Maps;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import com.google.protobuf.ServiceException;
@@ -325,7 +326,7 @@ public class TezClient {
    * @param localFiles the files to be made available in the AM
    */
   public synchronized void addAppMasterLocalFiles(Map<String, LocalResource> localFiles) {
-    Preconditions.checkNotNull(localFiles);
+    Objects.requireNonNull(localFiles);
     if (isSession && sessionStarted.get()) {
       additionalLocalResources.putAll(localFiles);
     }
diff --git a/tez-api/src/main/java/org/apache/tez/client/TezClientUtils.java b/tez-api/src/main/java/org/apache/tez/client/TezClientUtils.java
index 2b21024..07f0994 100644
--- a/tez-api/src/main/java/org/apache/tez/client/TezClientUtils.java
+++ b/tez-api/src/main/java/org/apache/tez/client/TezClientUtils.java
@@ -39,6 +39,7 @@ import java.util.Set;
 import java.util.TreeMap;
 import java.util.Vector;
 import java.util.Map.Entry;
+import java.util.Objects;
 
 import com.google.common.base.Strings;
 import org.apache.commons.codec.digest.DigestUtils;
@@ -112,7 +113,6 @@ import org.apache.tez.dag.api.records.DAGProtos.PlanKeyValuePair;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Iterators;
 import com.google.common.collect.Lists;
 
@@ -137,7 +137,7 @@ public class TezClientUtils {
   static boolean setupTezJarsLocalResources(TezConfiguration conf,
       Credentials credentials, Map<String, LocalResource> tezJarResources)
       throws IOException {
-    Preconditions.checkNotNull(credentials, "A non-null credentials object should be specified");
+    Objects.requireNonNull(credentials, "A non-null credentials object should be specified");
     boolean usingTezArchive = false;
 
     if (conf.getBoolean(TezConfiguration.TEZ_IGNORE_LIB_URIS, false)){
@@ -379,7 +379,7 @@ public class TezClientUtils {
   static Credentials setupDAGCredentials(DAG dag, Credentials sessionCredentials,
       Configuration conf) throws IOException {
 
-    Preconditions.checkNotNull(sessionCredentials);
+    Objects.requireNonNull(sessionCredentials);
     TezCommonUtils.logCredentials(LOG, sessionCredentials, "session");
 
     Credentials dagCredentials = new Credentials();
@@ -445,7 +445,7 @@ public class TezClientUtils {
       ServicePluginsDescriptor servicePluginsDescriptor, JavaOptsChecker javaOptsChecker)
       throws IOException, YarnException {
 
-    Preconditions.checkNotNull(sessionCreds);
+    Objects.requireNonNull(sessionCreds);
     TezConfiguration conf = amConfig.getTezConfiguration();
 
     FileSystem fs = TezClientUtils.ensureStagingDirExists(conf,
@@ -730,7 +730,7 @@ public class TezClientUtils {
   }
   
   static void maybeAddDefaultLoggingJavaOpts(String logLevel, List<String> vargs) {
-    Preconditions.checkNotNull(vargs);
+    Objects.requireNonNull(vargs);
     if (!vargs.isEmpty()) {
       for (String arg : vargs) {
         if (arg.contains(TezConstants.TEZ_ROOT_LOGGER_NAME)) {
diff --git a/tez-api/src/main/java/org/apache/tez/common/Preconditions.java b/tez-api/src/main/java/org/apache/tez/common/Preconditions.java
new file mode 100644
index 0000000..b32d951
--- /dev/null
+++ b/tez-api/src/main/java/org/apache/tez/common/Preconditions.java
@@ -0,0 +1,115 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tez.common;
+
+import javax.annotation.Nullable;
+
+/**
+ * A simplified version of Guava's Preconditions for making it easy to handle its usage in Tez project.
+ */
+//TODO remove this and make Preconditions class in common module available everywhere
+public class Preconditions {
+
+  private Preconditions() {
+  }
+
+  public static void checkArgument(boolean expression) {
+    if (!expression) {
+      throw new IllegalArgumentException();
+    }
+  }
+
+  public static void checkArgument(boolean expression, @Nullable Object message) {
+    if (!expression) {
+      throw new IllegalArgumentException(String.valueOf(message));
+    }
+  }
+
+  public static void checkArgument(boolean expression, @Nullable String template, @Nullable Object... args) {
+    if (!expression) {
+      throw new IllegalArgumentException(format(template, args));
+    }
+  }
+
+  public static void checkState(boolean expression) {
+    if (!expression) {
+      throw new IllegalStateException();
+    }
+  }
+
+  public static void checkState(boolean expression, @Nullable Object message) {
+    if (!expression) {
+      throw new IllegalStateException(String.valueOf(message));
+    }
+  }
+
+  public static void checkState(boolean expression, @Nullable String template, @Nullable Object... args) {
+    if (!expression) {
+      throw new IllegalStateException(format(template, args));
+    }
+  }
+
+  private static String format(@Nullable String template, @Nullable Object... args) {
+    template = String.valueOf(template); // null -> "null"
+
+    if (args == null) {
+      args = new Object[] { "(Object[])null" };
+    } else {
+      for (int i = 0; i < args.length; i++) {
+        args[i] = lenientToString(args[i]);
+      }
+    }
+
+    // start substituting the arguments into the '%s' placeholders
+    StringBuilder builder = new StringBuilder(template.length() + 16 * args.length);
+    int templateStart = 0;
+    int i = 0;
+    while (i < args.length) {
+      int placeholderStart = template.indexOf("%s", templateStart);
+      if (placeholderStart == -1) {
+        break;
+      }
+      builder.append(template, templateStart, placeholderStart);
+      builder.append(args[i++]);
+      templateStart = placeholderStart + 2;
+    }
+    builder.append(template, templateStart, template.length());
+
+    // if we run out of placeholders, append the extra args in square braces
+    if (i < args.length) {
+      builder.append(" [");
+      builder.append(args[i++]);
+      while (i < args.length) {
+        builder.append(", ");
+        builder.append(args[i++]);
+      }
+      builder.append(']');
+    }
+
+    return builder.toString();
+  }
+
+  private static String lenientToString(@Nullable Object o) {
+    try {
+      return String.valueOf(o);
+    } catch (Exception e) {
+      String objectToString = o.getClass().getName() + '@' + Integer.toHexString(System.identityHashCode(o));
+      return "<" + objectToString + " threw " + e.getClass().getName() + ">";
+    }
+  }
+}
diff --git a/tez-api/src/main/java/org/apache/tez/common/TezUtils.java b/tez-api/src/main/java/org/apache/tez/common/TezUtils.java
index 072c02f..50cac15 100644
--- a/tez-api/src/main/java/org/apache/tez/common/TezUtils.java
+++ b/tez-api/src/main/java/org/apache/tez/common/TezUtils.java
@@ -28,8 +28,8 @@ import java.util.Map.Entry;
 import java.util.zip.Deflater;
 import java.util.zip.DeflaterOutputStream;
 import java.util.zip.InflaterInputStream;
+import java.util.Objects;
 
-import com.google.common.base.Preconditions;
 import com.google.protobuf.ByteString;
 
 import org.slf4j.Logger;
@@ -75,7 +75,7 @@ public class TezUtils {
    * @throws java.io.IOException
    */
   public static ByteString createByteStringFromConf(Configuration conf) throws IOException {
-    Preconditions.checkNotNull(conf, "Configuration must be specified");
+    Objects.requireNonNull(conf, "Configuration must be specified");
     ByteString.Output os = ByteString.newOutput();
     DeflaterOutputStream compressOs = new DeflaterOutputStream(os,
         new Deflater(Deflater.BEST_SPEED));
@@ -110,7 +110,7 @@ public class TezUtils {
    * @throws java.io.IOException
    */
   public static Configuration createConfFromByteString(ByteString byteString) throws IOException {
-    Preconditions.checkNotNull(byteString, "ByteString must be specified");
+    Objects.requireNonNull(byteString, "ByteString must be specified");
     // SnappyInputStream uncompressIs = new
     // SnappyInputStream(byteString.newInput());
     try(InflaterInputStream uncompressIs = new InflaterInputStream(byteString.newInput())) {
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/FileSystemCounterGroup.java b/tez-api/src/main/java/org/apache/tez/common/counters/FileSystemCounterGroup.java
index 5024154..fb506b5 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/FileSystemCounterGroup.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/FileSystemCounterGroup.java
@@ -27,11 +27,10 @@ import java.util.concurrent.ConcurrentSkipListMap;
 import java.util.Iterator;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Objects;
 
 import com.google.common.base.Joiner;
 
-import static com.google.common.base.Preconditions.*;
-
 import com.google.common.collect.AbstractIterator;
 import com.google.common.collect.Iterators;
 import com.google.common.collect.Maps;
@@ -226,7 +225,7 @@ public abstract class FileSystemCounterGroup<C extends TezCounter>
 
   @Override
   public void incrAllCounters(CounterGroupBase<C> other) {
-    if (checkNotNull(other.getUnderlyingGroup(), "other group")
+    if (Objects.requireNonNull(other.getUnderlyingGroup(), "other group")
         instanceof FileSystemCounterGroup<?>) {
       for (TezCounter counter : other) {
         FSCounter c = (FSCounter) ((TezCounter)counter).getUnderlyingCounter();
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/FrameworkCounterGroup.java b/tez-api/src/main/java/org/apache/tez/common/counters/FrameworkCounterGroup.java
index 3a4aa97..73010f3 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/FrameworkCounterGroup.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/FrameworkCounterGroup.java
@@ -18,13 +18,14 @@
 
 package org.apache.tez.common.counters;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+
 
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Iterator;
+import java.util.Objects;
 
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.io.WritableUtils;
@@ -193,7 +194,7 @@ public abstract class FrameworkCounterGroup<T extends Enum<T>,
   @SuppressWarnings("rawtypes")
   @Override
   public void incrAllCounters(CounterGroupBase<C> other) {
-    if (checkNotNull(other, "other counter group")
+    if (Objects.requireNonNull(other, "other counter group")
         instanceof FrameworkCounterGroup<?, ?>) {
       for (TezCounter counter : other) {
         findCounter(((FrameworkCounter) counter).key.name())
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java b/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java
index 735c749..490df36 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java
@@ -33,6 +33,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.Stack;
+import java.util.Objects;
 
 import org.apache.commons.collections4.BidiMap;
 import org.apache.commons.collections4.bidimap.DualLinkedHashBidiMap;
@@ -73,7 +74,7 @@ import org.apache.tez.dag.api.records.DAGProtos.PlanVertexType;
 import org.apache.tez.dag.api.records.DAGProtos.VertexPlan;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
@@ -128,7 +129,7 @@ public class DAG {
    * @return {@link DAG}
    */
   public synchronized DAG addTaskLocalFiles(Map<String, LocalResource> localFiles) {
-    Preconditions.checkNotNull(localFiles);
+    Objects.requireNonNull(localFiles);
     TezCommonUtils.addAdditionalLocalResources(localFiles, commonTaskLocalFiles, "DAG " + getName());
     return this;
   }
@@ -178,7 +179,7 @@ public class DAG {
    */
   @Deprecated
   public synchronized DAG setDAGInfo(String dagInfo) {
-    Preconditions.checkNotNull(dagInfo);
+    Objects.requireNonNull(dagInfo);
     this.dagInfo = dagInfo;
     return this;
   }
@@ -190,7 +191,7 @@ public class DAG {
    * @return {@link DAG}
    */
   public synchronized DAG setCallerContext(CallerContext callerContext) {
-    Preconditions.checkNotNull(callerContext);
+    Objects.requireNonNull(callerContext);
     this.callerContext = callerContext;
     return this;
   }
@@ -257,7 +258,7 @@ public class DAG {
    * @return {@link DAG}
    */
   public synchronized DAG addURIsForCredentials(Collection<URI> uris) {
-    Preconditions.checkNotNull(uris, "URIs cannot be null");
+    Objects.requireNonNull(uris, "URIs cannot be null");
     urisForCredentials.addAll(uris);
     return this;
   }
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/DataSinkDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/DataSinkDescriptor.java
index 4d0d615..fec2bf6 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/DataSinkDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/DataSinkDescriptor.java
@@ -21,13 +21,13 @@ package org.apache.tez.dag.api;
 import java.net.URI;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Objects;
 
 import javax.annotation.Nullable;
 
 import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.security.Credentials;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Sets;
 
 /**
@@ -121,7 +121,7 @@ public class DataSinkDescriptor {
   * @return this
   */
   public synchronized DataSinkDescriptor addURIsForCredentials(Collection<URI> uris) {
-    Preconditions.checkNotNull(uris, "URIs cannot be null");
+    Objects.requireNonNull(uris, "URIs cannot be null");
     urisForCredentials.addAll(uris);
     return this;
   }
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/DataSourceDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/DataSourceDescriptor.java
index 1c5c16d..db43c91 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/DataSourceDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/DataSourceDescriptor.java
@@ -24,6 +24,7 @@ import java.net.URI;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Map;
+import java.util.Objects;
 
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceAudience.Private;
@@ -34,7 +35,6 @@ import org.apache.tez.dag.api.TaskLocationHint;
 import org.apache.tez.runtime.api.InputInitializer;
 import org.apache.tez.runtime.api.events.InputDataInformationEvent;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Sets;
 
 /**
@@ -157,7 +157,7 @@ public class DataSourceDescriptor {
   * @return this
   */
   public synchronized DataSourceDescriptor addURIsForCredentials(Collection<URI> uris) {
-    Preconditions.checkNotNull(uris, "URIs cannot be null");
+    Objects.requireNonNull(uris, "URIs cannot be null");
     urisForCredentials.addAll(uris);
     return this;
   }
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/EdgeProperty.java b/tez-api/src/main/java/org/apache/tez/dag/api/EdgeProperty.java
index 07fb2c1..fd74563 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/EdgeProperty.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/EdgeProperty.java
@@ -21,7 +21,7 @@ import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.classification.InterfaceStability.Unstable;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * An @link {@link EdgeProperty} defines the relation between the source and
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/EntityDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/EntityDescriptor.java
index 13d4a93..2c7b834 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/EntityDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/EntityDescriptor.java
@@ -22,6 +22,7 @@ import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
 import java.nio.ByteBuffer;
+import java.util.Objects;
 
 import com.google.common.annotations.VisibleForTesting;
 import org.apache.hadoop.classification.InterfaceAudience.Private;
@@ -30,8 +31,6 @@ import org.apache.hadoop.io.DataOutputBuffer;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.io.Writable;
 
-import com.google.common.base.Preconditions;
-
 /**
  * Describes a given user code entity. Consists of the name of the class implementing
  * the user logic and a payload that can be used to configure an object instance of
@@ -66,7 +65,7 @@ public abstract class EntityDescriptor<T extends EntityDescriptor<T>> implements
    * @return this object for further chained method calls
    */
   public T setUserPayload(UserPayload userPayload) {
-    Preconditions.checkNotNull(userPayload);
+    Objects.requireNonNull(userPayload);
     this.userPayload = userPayload;
     return (T) this;
   }
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/NamedEntityDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/NamedEntityDescriptor.java
index 426d4eb..452deaa 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/NamedEntityDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/NamedEntityDescriptor.java
@@ -18,7 +18,7 @@ import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.hadoop.classification.InterfaceAudience;
 
 @SuppressWarnings("unchecked")
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/TaskLocationHint.java b/tez-api/src/main/java/org/apache/tez/dag/api/TaskLocationHint.java
index d1a1359..3070c33 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/TaskLocationHint.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/TaskLocationHint.java
@@ -20,12 +20,13 @@ package org.apache.tez.dag.api;
 
 import java.util.Collections;
 import java.util.Set;
+import java.util.Objects;
 
 import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.classification.InterfaceStability.Evolving;
 import org.apache.hadoop.classification.InterfaceStability.Unstable;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * Describes the placements hints for tasks.
@@ -67,7 +68,7 @@ public class TaskLocationHint {
   private TaskBasedLocationAffinity affinitizedTask;
 
   private TaskLocationHint(String vertexName, int taskIndex) {
-    Preconditions.checkNotNull(vertexName);
+    Objects.requireNonNull(vertexName);
     Preconditions.checkArgument(taskIndex >= 0);
     this.affinitizedTask = new TaskBasedLocationAffinity(vertexName, taskIndex);
   }
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java b/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java
index bf3a59b..ccfa92a 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java
@@ -35,7 +35,7 @@ import org.apache.tez.common.TezCommonUtils;
 import org.apache.tez.dag.api.VertexGroup.GroupInfo;
 import org.apache.tez.runtime.api.LogicalIOProcessor;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginContext.java b/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginContext.java
index b89b279..ba43ecd 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginContext.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginContext.java
@@ -35,7 +35,7 @@ import org.apache.tez.runtime.api.VertexStatistics;
 import org.apache.tez.runtime.api.events.CustomProcessorEvent;
 import org.apache.tez.runtime.api.events.InputDataInformationEvent;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * Object with API's to interact with the Tez execution engine
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClientImpl.java b/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClientImpl.java
index 9e17b9b..52f66e3 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClientImpl.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClientImpl.java
@@ -29,7 +29,7 @@ import java.util.Map;
 import java.util.Set;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 import org.apache.hadoop.yarn.exceptions.ApplicationNotFoundException;
 import org.slf4j.Logger;
diff --git a/tez-api/src/main/java/org/apache/tez/runtime/api/events/InputInitializerEvent.java b/tez-api/src/main/java/org/apache/tez/runtime/api/events/InputInitializerEvent.java
index 3037e61..21ad130 100644
--- a/tez-api/src/main/java/org/apache/tez/runtime/api/events/InputInitializerEvent.java
+++ b/tez-api/src/main/java/org/apache/tez/runtime/api/events/InputInitializerEvent.java
@@ -21,8 +21,7 @@
 package org.apache.tez.runtime.api.events;
 
 import java.nio.ByteBuffer;
-
-import com.google.common.base.Preconditions;
+import java.util.Objects;
 
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceAudience.Public;
@@ -53,8 +52,8 @@ public class InputInitializerEvent extends Event {
 
   private InputInitializerEvent(String targetVertexName, String targetInputName,
                                 ByteBuffer eventPayload) {
-    Preconditions.checkNotNull(targetVertexName, "TargetVertexName cannot be null");
-    Preconditions.checkNotNull(targetInputName, "TargetInputName cannot be null");
+    Objects.requireNonNull(targetVertexName, "TargetVertexName cannot be null");
+    Objects.requireNonNull(targetInputName, "TargetInputName cannot be null");
     this.targetVertexName = targetVertexName;
     this.targetInputName = targetInputName;
     this.eventPayload = eventPayload;
diff --git a/tez-api/src/main/java/org/apache/tez/runtime/api/events/InputUpdatePayloadEvent.java b/tez-api/src/main/java/org/apache/tez/runtime/api/events/InputUpdatePayloadEvent.java
index 2cfec69..8c33635 100644
--- a/tez-api/src/main/java/org/apache/tez/runtime/api/events/InputUpdatePayloadEvent.java
+++ b/tez-api/src/main/java/org/apache/tez/runtime/api/events/InputUpdatePayloadEvent.java
@@ -19,14 +19,13 @@
 package org.apache.tez.runtime.api.events;
 
 import java.nio.ByteBuffer;
+import java.util.Objects;
 
 import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.classification.InterfaceStability.Unstable;
 import org.apache.tez.runtime.api.Event;
 import org.apache.tez.runtime.api.InputInitializer;
 
-import com.google.common.base.Preconditions;
-
 /**
  * Events used by {@link InputInitializer} implementations to update the
  * shared user payload for the Input that is being initialized. </p>
@@ -41,7 +40,7 @@ public class InputUpdatePayloadEvent extends Event {
   private final ByteBuffer userPayload;
 
   private InputUpdatePayloadEvent(ByteBuffer userPayload) {
-    Preconditions.checkNotNull(userPayload);
+    Objects.requireNonNull(userPayload);
     this.userPayload = userPayload;
   }
 
diff --git a/tez-api/src/main/java/org/apache/tez/runtime/api/events/VertexManagerEvent.java b/tez-api/src/main/java/org/apache/tez/runtime/api/events/VertexManagerEvent.java
index 9e73fe5..6e57389 100644
--- a/tez-api/src/main/java/org/apache/tez/runtime/api/events/VertexManagerEvent.java
+++ b/tez-api/src/main/java/org/apache/tez/runtime/api/events/VertexManagerEvent.java
@@ -27,7 +27,7 @@ import org.apache.tez.dag.api.VertexManagerPlugin;
 import org.apache.tez.runtime.api.Event;
 import org.apache.tez.runtime.api.TaskAttemptIdentifier;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * Event used to send information from a Task to the VertexManager for a vertex.
diff --git a/tez-api/src/main/java/org/apache/tez/serviceplugins/api/ServicePluginsDescriptor.java b/tez-api/src/main/java/org/apache/tez/serviceplugins/api/ServicePluginsDescriptor.java
index 39d2cb8..c942a3a 100644
--- a/tez-api/src/main/java/org/apache/tez/serviceplugins/api/ServicePluginsDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/serviceplugins/api/ServicePluginsDescriptor.java
@@ -16,7 +16,7 @@ package org.apache.tez.serviceplugins.api;
 
 import java.util.Arrays;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.tez.dag.api.TezConfiguration;
diff --git a/tez-common/src/main/java/org/apache/tez/common/AsyncDispatcher.java b/tez-common/src/main/java/org/apache/tez/common/AsyncDispatcher.java
index 3a59ff6..c197f1d 100644
--- a/tez-common/src/main/java/org/apache/tez/common/AsyncDispatcher.java
+++ b/tez-common/src/main/java/org/apache/tez/common/AsyncDispatcher.java
@@ -36,7 +36,6 @@ import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Maps;
 
 /**
diff --git a/tez-common/src/main/java/org/apache/tez/common/AsyncDispatcherConcurrent.java b/tez-common/src/main/java/org/apache/tez/common/AsyncDispatcherConcurrent.java
index 4a632f5..f22159b 100644
--- a/tez-common/src/main/java/org/apache/tez/common/AsyncDispatcherConcurrent.java
+++ b/tez-common/src/main/java/org/apache/tez/common/AsyncDispatcherConcurrent.java
@@ -37,7 +37,6 @@ import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
diff --git a/tez-common/src/main/java/org/apache/tez/common/Preconditions.java b/tez-common/src/main/java/org/apache/tez/common/Preconditions.java
new file mode 100644
index 0000000..42d862c
--- /dev/null
+++ b/tez-common/src/main/java/org/apache/tez/common/Preconditions.java
@@ -0,0 +1,116 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tez.common;
+
+import javax.annotation.Nullable;
+
+/**
+ * A simplified version of Guava's Preconditions for making it easy to handle its usage in Tez project.
+ */
+public class Preconditions {
+
+  private Preconditions() {
+  }
+
+  public static void checkArgument(boolean expression) {
+    if (!expression) {
+      throw new IllegalArgumentException();
+    }
+  }
+
+  public static void checkArgument(boolean expression, @Nullable Object message) {
+    if (!expression) {
+      throw new IllegalArgumentException(String.valueOf(message));
+    }
+  }
+
+  public static void checkArgument(boolean expression, @Nullable String template,
+      @Nullable Object... args) {
+    if (!expression) {
+      throw new IllegalArgumentException(format(template, args));
+    }
+  }
+
+  public static void checkState(boolean expression) {
+    if (!expression) {
+      throw new IllegalStateException();
+    }
+  }
+
+  public static void checkState(boolean expression, @Nullable Object message) {
+    if (!expression) {
+      throw new IllegalStateException(String.valueOf(message));
+    }
+  }
+
+  public static void checkState(boolean expression, @Nullable String template,
+      @Nullable Object... args) {
+    if (!expression) {
+      throw new IllegalStateException(format(template, args));
+    }
+  }
+
+  private static String format(@Nullable String template, @Nullable Object... args) {
+    template = String.valueOf(template); // null -> "null"
+
+    if (args == null) {
+      args = new Object[] { "(Object[])null" };
+    } else {
+      for (int i = 0; i < args.length; i++) {
+        args[i] = lenientToString(args[i]);
+      }
+    }
+
+    // start substituting the arguments into the '%s' placeholders
+    StringBuilder builder = new StringBuilder(template.length() + 16 * args.length);
+    int templateStart = 0;
+    int i = 0;
+    while (i < args.length) {
+      int placeholderStart = template.indexOf("%s", templateStart);
+      if (placeholderStart == -1) {
+        break;
+      }
+      builder.append(template, templateStart, placeholderStart);
+      builder.append(args[i++]);
+      templateStart = placeholderStart + 2;
+    }
+    builder.append(template, templateStart, template.length());
+
+    // if we run out of placeholders, append the extra args in square braces
+    if (i < args.length) {
+      builder.append(" [");
+      builder.append(args[i++]);
+      while (i < args.length) {
+        builder.append(", ");
+        builder.append(args[i++]);
+      }
+      builder.append(']');
+    }
+
+    return builder.toString();
+  }
+
+  private static String lenientToString(@Nullable Object o) {
+    try {
+      return String.valueOf(o);
+    } catch (Exception e) {
+      String objectToString = o.getClass().getName() + '@' + Integer.toHexString(System.identityHashCode(o));
+      return "<" + objectToString + " threw " + e.getClass().getName() + ">";
+    }
+  }
+}
diff --git a/tez-common/src/main/java/org/apache/tez/common/TezSharedExecutor.java b/tez-common/src/main/java/org/apache/tez/common/TezSharedExecutor.java
index 3cc72d5..bf8eb4f 100644
--- a/tez-common/src/main/java/org/apache/tez/common/TezSharedExecutor.java
+++ b/tez-common/src/main/java/org/apache/tez/common/TezSharedExecutor.java
@@ -40,7 +40,6 @@ import org.apache.hadoop.classification.InterfaceStability.Unstable;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.tez.dag.api.TezConfiguration;
 
-import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 
 /**
diff --git a/tez-common/src/main/java/org/apache/tez/dag/records/TezDAGID.java b/tez-common/src/main/java/org/apache/tez/dag/records/TezDAGID.java
index 2e3309e..24365c9 100644
--- a/tez-common/src/main/java/org/apache/tez/dag/records/TezDAGID.java
+++ b/tez-common/src/main/java/org/apache/tez/dag/records/TezDAGID.java
@@ -25,7 +25,7 @@ import java.io.IOException;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.tez.util.FastNumberFormat;
 
 /**
diff --git a/tez-common/src/main/java/org/apache/tez/dag/records/TezTaskID.java b/tez-common/src/main/java/org/apache/tez/dag/records/TezTaskID.java
index 3295f6a..15b695c 100644
--- a/tez-common/src/main/java/org/apache/tez/dag/records/TezTaskID.java
+++ b/tez-common/src/main/java/org/apache/tez/dag/records/TezTaskID.java
@@ -25,7 +25,7 @@ import java.io.IOException;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.tez.util.FastNumberFormat;
 
 /**
diff --git a/tez-common/src/main/java/org/apache/tez/dag/records/TezVertexID.java b/tez-common/src/main/java/org/apache/tez/dag/records/TezVertexID.java
index b56c9ad..b5a36ab 100644
--- a/tez-common/src/main/java/org/apache/tez/dag/records/TezVertexID.java
+++ b/tez-common/src/main/java/org/apache/tez/dag/records/TezVertexID.java
@@ -25,7 +25,7 @@ import java.io.IOException;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.tez.util.FastNumberFormat;
 
 /**
diff --git a/tez-common/src/main/java/org/apache/tez/runtime/common/resources/InitialMemoryRequestContext.java b/tez-common/src/main/java/org/apache/tez/runtime/common/resources/InitialMemoryRequestContext.java
index aec3795..da361a1 100644
--- a/tez-common/src/main/java/org/apache/tez/runtime/common/resources/InitialMemoryRequestContext.java
+++ b/tez-common/src/main/java/org/apache/tez/runtime/common/resources/InitialMemoryRequestContext.java
@@ -18,7 +18,8 @@
 
 package org.apache.tez.runtime.common.resources;
 
-import com.google.common.base.Preconditions;
+import java.util.Objects;
+
 import org.apache.hadoop.classification.InterfaceAudience.Private;
 
 
@@ -38,9 +39,9 @@ public class InitialMemoryRequestContext {
 
   public InitialMemoryRequestContext(long requestedSize, String componentClassName,
       ComponentType componentType, String componentVertexName) {
-    Preconditions.checkNotNull(componentClassName, "componentClassName is null");
-    Preconditions.checkNotNull(componentType, "componentType is null");
-    Preconditions.checkNotNull(componentVertexName, "componentVertexName is null");
+    Objects.requireNonNull(componentClassName, "componentClassName is null");
+    Objects.requireNonNull(componentType, "componentType is null");
+    Objects.requireNonNull(componentVertexName, "componentVertexName is null");
     this.requestedSize = requestedSize;
     this.componentClassName = componentClassName;
     this.componentType = componentType;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/ContainerContext.java b/tez-dag/src/main/java/org/apache/tez/dag/app/ContainerContext.java
index d88daff..f2c7d5f 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/ContainerContext.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/ContainerContext.java
@@ -21,6 +21,7 @@ import java.util.EnumSet;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Objects;
 
 import javax.annotation.Nullable;
 
@@ -33,8 +34,6 @@ import org.apache.hadoop.yarn.api.records.LocalResource;
 import org.apache.hadoop.yarn.api.records.LocalResourceType;
 import org.apache.tez.dag.app.dag.Vertex;
 
-import com.google.common.base.Preconditions;
-
 public class ContainerContext {
 
   private static final Logger LOG = LoggerFactory.getLogger(ContainerContext.class);
@@ -49,11 +48,11 @@ public class ContainerContext {
 
   public ContainerContext(Map<String, LocalResource> localResources,
       Credentials credentials, Map<String, String> environment, String javaOpts) {
-    Preconditions.checkNotNull(localResources,
+    Objects.requireNonNull(localResources,
         "localResources should not be null");
-    Preconditions.checkNotNull(credentials, "credentials should not be null");
-    Preconditions.checkNotNull(environment, "environment should not be null");
-    Preconditions.checkNotNull(javaOpts, "javaOpts should not be null");
+    Objects.requireNonNull(credentials, "credentials should not be null");
+    Objects.requireNonNull(environment, "environment should not be null");
+    Objects.requireNonNull(javaOpts, "javaOpts should not be null");
     this.localResources = localResources;
     this.credentials = credentials;
     this.environment = environment;
@@ -64,11 +63,11 @@ public class ContainerContext {
   public ContainerContext(Map<String, LocalResource> localResources,
       Credentials credentials, Map<String, String> environment, String javaOpts,
       @Nullable Vertex vertex) {
-    Preconditions.checkNotNull(localResources,
+    Objects.requireNonNull(localResources,
         "localResources should not be null");
-    Preconditions.checkNotNull(credentials, "credentials should not be null");
-    Preconditions.checkNotNull(environment, "environment should not be null");
-    Preconditions.checkNotNull(javaOpts, "javaOpts should not be null");
+    Objects.requireNonNull(credentials, "credentials should not be null");
+    Objects.requireNonNull(environment, "environment should not be null");
+    Objects.requireNonNull(javaOpts, "javaOpts should not be null");
     this.localResources = localResources;
     this.credentials = credentials;
     this.environment = environment;
@@ -97,7 +96,7 @@ public class ContainerContext {
    *         container context.
    */
   public boolean isSuperSet(ContainerContext otherContext) {
-    Preconditions.checkNotNull(otherContext, "otherContext should not null");
+    Objects.requireNonNull(otherContext, "otherContext should not null");
     // Assumptions:
     // Credentials are the same for all containers belonging to a DAG.
     // Matching can be added if containers are used across DAGs
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/ContainerLauncherContextImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/ContainerLauncherContextImpl.java
index 7e68675..694de07 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/ContainerLauncherContextImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/ContainerLauncherContextImpl.java
@@ -16,7 +16,8 @@ package org.apache.tez.dag.app;
 
 import javax.annotation.Nullable;
 
-import com.google.common.base.Preconditions;
+import java.util.Objects;
+
 import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
 import org.apache.hadoop.yarn.api.records.ContainerId;
 import org.apache.tez.common.TezUtilsInternal;
@@ -52,9 +53,9 @@ public class ContainerLauncherContextImpl implements ContainerLauncherContext {
   public ContainerLauncherContextImpl(AppContext appContext, ContainerLauncherManager containerLauncherManager,
                                       TaskCommunicatorManagerInterface tal,
                                       UserPayload initialUserPayload, int containerLauncherIndex) {
-    Preconditions.checkNotNull(appContext, "AppContext cannot be null");
-    Preconditions.checkNotNull(appContext, "ContainerLauncherManager cannot be null");
-    Preconditions.checkNotNull(tal, "TaskCommunicator cannot be null");
+    Objects.requireNonNull(appContext, "AppContext cannot be null");
+    Objects.requireNonNull(appContext, "ContainerLauncherManager cannot be null");
+    Objects.requireNonNull(tal, "TaskCommunicator cannot be null");
     this.context = appContext;
     this.containerLauncherManager = containerLauncherManager;
     this.tal = tal;
@@ -140,7 +141,7 @@ public class ContainerLauncherContextImpl implements ContainerLauncherContext {
 
   @Override
   public void reportError(ServicePluginError servicePluginError, String message, DagInfo dagInfo) {
-    Preconditions.checkNotNull(servicePluginError, "ServiceError must be specified");
+    Objects.requireNonNull(servicePluginError, "ServiceError must be specified");
     containerLauncherManager.reportError(containerLauncherIndex, servicePluginError, message, dagInfo);
   }
 
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/DAGAppMaster.java b/tez-dag/src/main/java/org/apache/tez/dag/app/DAGAppMaster.java
index 11bde4a..af62d9d 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/DAGAppMaster.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/DAGAppMaster.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.dag.app;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -57,6 +57,7 @@ import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import java.util.Objects;
 
 import com.google.common.collect.BiMap;
 import com.google.common.collect.HashBiMap;
@@ -193,7 +194,7 @@ import org.slf4j.LoggerFactory;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Function;
 import com.google.common.base.Joiner;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Maps;
 import com.google.common.util.concurrent.ListeningExecutorService;
 import com.google.common.util.concurrent.MoreExecutors;
@@ -1533,7 +1534,7 @@ public class DAGAppMaster extends AbstractService {
     private volatile String queueName;
 
     public RunningAppContext(Configuration config) {
-      checkNotNull(config, "config is null");
+      Objects.requireNonNull(config, "config is null");
       this.conf = config;
       this.eventHandler = dispatcher.getEventHandler();
     }
@@ -1759,7 +1760,7 @@ public class DAGAppMaster extends AbstractService {
 
     @Override
     public void setDAG(DAG dag) {
-      Preconditions.checkNotNull(dag, "dag is null");
+      Objects.requireNonNull(dag, "dag is null");
       try {
         wLock.lock();
         this.dag = dag;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/RecoveryParser.java b/tez-dag/src/main/java/org/apache/tez/dag/app/RecoveryParser.java
index 99ac283..bab6142 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/RecoveryParser.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/RecoveryParser.java
@@ -77,7 +77,7 @@ import org.apache.tez.dag.recovery.records.RecoveryProtos.SummaryEventProto;
 import org.apache.tez.runtime.api.impl.TezEvent;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 
 /**
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/TaskCommunicatorContextImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/TaskCommunicatorContextImpl.java
index 1adbf6e..b09eac7 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/TaskCommunicatorContextImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/TaskCommunicatorContextImpl.java
@@ -19,9 +19,10 @@ import javax.annotation.Nullable;
 import java.io.IOException;
 import java.util.Set;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
+import java.util.Objects;
 
 import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Iterables;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.security.Credentials;
@@ -155,7 +156,7 @@ public class TaskCommunicatorContextImpl implements TaskCommunicatorContext, Ver
   @Override
   public void registerForVertexStateUpdates(String vertexName,
                                             @Nullable Set<VertexState> stateSet) {
-    Preconditions.checkNotNull(vertexName, "VertexName cannot be null: " + vertexName);
+    Objects.requireNonNull(vertexName, "VertexName cannot be null: " + vertexName);
     DAG dag = getDag();
     dag.getStateChangeNotifier().registerForVertexUpdates(vertexName, stateSet,
         this);
@@ -174,7 +175,7 @@ public class TaskCommunicatorContextImpl implements TaskCommunicatorContext, Ver
 
   @Override
   public Iterable<String> getInputVertexNames(String vertexName) {
-    Preconditions.checkNotNull(vertexName, "VertexName cannot be null: " + vertexName);
+    Objects.requireNonNull(vertexName, "VertexName cannot be null: " + vertexName);
     DAG dag = getDag();
     Vertex vertex = dag.getVertex(vertexName);
     Set<Vertex> sources = vertex.getInputVertices().keySet();
@@ -227,7 +228,7 @@ public class TaskCommunicatorContextImpl implements TaskCommunicatorContext, Ver
 
   @Override
   public void reportError(@Nonnull ServicePluginError servicePluginError, String message, DagInfo dagInfo) {
-    Preconditions.checkNotNull(servicePluginError, "ServicePluginError must be set");
+    Objects.requireNonNull(servicePluginError, "ServicePluginError must be set");
     taskCommunicatorManager.reportError(taskCommunicatorIndex, servicePluginError, message, dagInfo);
   }
 
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/TaskCommunicatorManager.java b/tez-dag/src/main/java/org/apache/tez/dag/app/TaskCommunicatorManager.java
index d1b0349..55b2d1b 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/TaskCommunicatorManager.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/TaskCommunicatorManager.java
@@ -27,7 +27,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 import org.apache.commons.collections4.ListUtils;
 import org.apache.hadoop.yarn.event.Event;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/TezTaskCommunicatorImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/TezTaskCommunicatorImpl.java
index d52df4f..9c8fb6c 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/TezTaskCommunicatorImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/TezTaskCommunicatorImpl.java
@@ -20,8 +20,8 @@ import java.net.URISyntaxException;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
+import java.util.Objects;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Maps;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.conf.Configuration;
@@ -221,8 +221,9 @@ public class TezTaskCommunicatorImpl extends TaskCommunicator {
                                          int priority) {
 
     ContainerInfo containerInfo = registeredContainers.get(containerId);
-    Preconditions.checkNotNull(containerInfo, "Cannot register task attempt %s to unknown container %s",
-        taskSpec.getTaskAttemptID(), containerId);
+    Objects.requireNonNull(containerInfo,
+        String.format("Cannot register task attempt %s to unknown container %s",
+            taskSpec.getTaskAttemptID(), containerId));
     synchronized (containerInfo) {
       if (containerInfo.taskSpec != null) {
         throw new TezUncheckedException(
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/RootInputInitializerManager.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/RootInputInitializerManager.java
index e03b469..b2a0c0b 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/RootInputInitializerManager.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/RootInputInitializerManager.java
@@ -34,8 +34,9 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.Objects;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.LinkedListMultimap;
 import com.google.common.collect.ListMultimap;
 import com.google.common.collect.Lists;
@@ -175,7 +176,7 @@ public class RootInputInitializerManager {
       InputInitializerEvent event = (InputInitializerEvent)tezEvent.getEvent();
       Preconditions.checkState(vertex.getName().equals(event.getTargetVertexName()),
           "Received event for incorrect vertex");
-      Preconditions.checkNotNull(event.getTargetInputName(), "target input name must be set");
+      Objects.requireNonNull(event.getTargetInputName(), "target input name must be set");
       InitializerWrapper initializer = initializerMap.get(event.getTargetInputName());
       Preconditions.checkState(initializer != null,
           "Received event for unknown input : " + event.getTargetInputName());
@@ -220,8 +221,8 @@ public class RootInputInitializerManager {
 
   public void registerForVertexUpdates(String vertexName, String inputName,
                                        @Nullable Set<org.apache.tez.dag.api.event.VertexState> stateSet) {
-    Preconditions.checkNotNull(vertexName, "VertexName cannot be null: " + vertexName);
-    Preconditions.checkNotNull(inputName, "InputName cannot be null");
+    Objects.requireNonNull(vertexName, "VertexName cannot be null: " + vertexName);
+    Objects.requireNonNull(inputName, "InputName cannot be null");
     InitializerWrapper initializer = initializerMap.get(inputName);
     if (initializer == null) {
       pendingVertexRegistrations.put(inputName, new VertexUpdateRegistrationHolder(vertexName, stateSet));
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/StateChangeNotifier.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/StateChangeNotifier.java
index bd04fd8..7d13f93 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/StateChangeNotifier.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/StateChangeNotifier.java
@@ -25,9 +25,9 @@ import java.util.Set;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
+import java.util.Objects;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.LinkedListMultimap;
 import com.google.common.collect.ListMultimap;
@@ -268,7 +268,7 @@ public class StateChangeNotifier {
 
   public void registerForTaskSuccessUpdates(String vertexName, TaskStateUpdateListener listener) {
     TezVertexID vertexId = validateAndGetVertexId(vertexName);
-    Preconditions.checkNotNull(listener, "listener cannot be null");
+    Objects.requireNonNull(listener, "listener cannot be null");
     taskWriteLock.lock();
     try {
       taskListeners.put(vertexId, listener);
@@ -279,7 +279,7 @@ public class StateChangeNotifier {
 
   public void unregisterForTaskSuccessUpdates(String vertexName, TaskStateUpdateListener listener) {
     TezVertexID vertexId = validateAndGetVertexId(vertexName);
-    Preconditions.checkNotNull(listener, "listener cannot be null");
+    Objects.requireNonNull(listener, "listener cannot be null");
     taskWriteLock.lock();
     try {
       taskListeners.remove(vertexId, listener);
@@ -303,9 +303,9 @@ public class StateChangeNotifier {
 
 
   private TezVertexID validateAndGetVertexId(String vertexName) {
-    Preconditions.checkNotNull(vertexName, "VertexName cannot be null");
+    Objects.requireNonNull(vertexName, "VertexName cannot be null");
     Vertex vertex = dag.getVertex(vertexName);
-    Preconditions.checkNotNull(vertex, "Vertex does not exist: " + vertexName);
+    Objects.requireNonNull(vertex, "Vertex does not exist: " + vertexName);
     return vertex.getVertexId();
   }
 
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/event/DAGAppMasterEventUserServiceFatalError.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/event/DAGAppMasterEventUserServiceFatalError.java
index 7bc3bd8..728af78 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/event/DAGAppMasterEventUserServiceFatalError.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/event/DAGAppMasterEventUserServiceFatalError.java
@@ -16,7 +16,7 @@ package org.apache.tez.dag.app.dag.event;
 
 import java.util.EnumSet;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 public class DAGAppMasterEventUserServiceFatalError extends DAGAppMasterEvent implements DiagnosableEvent {
 
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/event/TaskAttemptEventAttemptFailed.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/event/TaskAttemptEventAttemptFailed.java
index 299847c..d4c7273 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/event/TaskAttemptEventAttemptFailed.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/event/TaskAttemptEventAttemptFailed.java
@@ -18,7 +18,8 @@
 
 package org.apache.tez.dag.app.dag.event;
 
-import com.google.common.base.Preconditions;
+import java.util.Objects;
+
 import org.apache.tez.dag.records.TaskAttemptTerminationCause;
 import org.apache.tez.dag.records.TezTaskAttemptID;
 import org.apache.tez.runtime.api.TaskFailureType;
@@ -44,7 +45,7 @@ public class TaskAttemptEventAttemptFailed extends TaskAttemptEvent
                                        TaskAttemptEventType type, TaskFailureType taskFailureType, String diagnostics, TaskAttemptTerminationCause errorCause,
                                        boolean isFromRecovery) {
     super(id, type);
-    Preconditions.checkNotNull(taskFailureType, "FailureType must be set for a FAILED task attempt");
+    Objects.requireNonNull(taskFailureType, "FailureType must be set for a FAILED task attempt");
     this.diagnostics = diagnostics;
     this.errorCause = errorCause;
     this.taskFailureType = taskFailureType;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/event/TaskEventTAFailed.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/event/TaskEventTAFailed.java
index d6f1526..f68549d 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/event/TaskEventTAFailed.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/event/TaskEventTAFailed.java
@@ -18,7 +18,8 @@
 
 package org.apache.tez.dag.app.dag.event;
 
-import com.google.common.base.Preconditions;
+import java.util.Objects;
+
 import org.apache.tez.common.TezAbstractEvent;
 import org.apache.tez.dag.records.TezTaskAttemptID;
 import org.apache.tez.runtime.api.TaskFailureType;
@@ -31,7 +32,7 @@ public class TaskEventTAFailed extends TaskEventTAUpdate {
 
   public TaskEventTAFailed(TezTaskAttemptID id, TaskFailureType taskFailureType, TezAbstractEvent causalEvent) {
     super(id, TaskEventType.T_ATTEMPT_FAILED);
-    Preconditions.checkNotNull(taskFailureType, "FailureType must be specified for a failed attempt");
+    Objects.requireNonNull(taskFailureType, "FailureType must be specified for a failed attempt");
     this.taskFailureType = taskFailureType;
     this.causalEvent = causalEvent;
   }
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/DAGImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/DAGImpl.java
index 6f78d00..5dd4be6 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/DAGImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/DAGImpl.java
@@ -135,7 +135,7 @@ import org.apache.tez.dag.utils.TezBuilderUtils;
 import org.apache.tez.runtime.api.OutputCommitter;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/Edge.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/Edge.java
index f78c9a5..848b491 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/Edge.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/Edge.java
@@ -65,7 +65,7 @@ import org.apache.tez.runtime.api.impl.TezEvent;
 import org.apache.tez.runtime.api.impl.EventMetaData.EventProducerConsumerType;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Maps;
 
 public class Edge {
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/ImmediateStartVertexManager.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/ImmediateStartVertexManager.java
index 50624dd..fc77e9a 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/ImmediateStartVertexManager.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/ImmediateStartVertexManager.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.dag.app.dag.impl;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/OneToOneEdgeManager.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/OneToOneEdgeManager.java
index dd38180..f9bacbf 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/OneToOneEdgeManager.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/OneToOneEdgeManager.java
@@ -28,7 +28,7 @@ import org.apache.tez.dag.api.EdgeManagerPluginContext;
 import org.apache.tez.runtime.api.events.DataMovementEvent;
 import org.apache.tez.runtime.api.events.InputReadErrorEvent;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 public class OneToOneEdgeManager extends EdgeManagerPlugin {
 
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/OneToOneEdgeManagerOnDemand.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/OneToOneEdgeManagerOnDemand.java
index 819735a..e2dbf45 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/OneToOneEdgeManagerOnDemand.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/OneToOneEdgeManagerOnDemand.java
@@ -30,7 +30,7 @@ import org.apache.tez.dag.api.EdgeManagerPluginOnDemand;
 import org.apache.tez.runtime.api.events.DataMovementEvent;
 import org.apache.tez.runtime.api.events.InputReadErrorEvent;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 public class OneToOneEdgeManagerOnDemand extends EdgeManagerPluginOnDemand {
 
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/OutputCommitterContextImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/OutputCommitterContextImpl.java
index 6eae32d..dc89514 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/OutputCommitterContextImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/OutputCommitterContextImpl.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.dag.app.dag.impl;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+import java.util.Objects;
 
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.tez.dag.api.OutputCommitterDescriptor;
@@ -42,10 +42,10 @@ public class OutputCommitterContextImpl implements OutputCommitterContext {
       String vertexName,
       RootInputLeafOutput<OutputDescriptor, OutputCommitterDescriptor> output,
       int vertexIdx) {
-    checkNotNull(applicationId, "applicationId is null");
-    checkNotNull(dagName, "dagName is null");
-    checkNotNull(vertexName, "vertexName is null");
-    checkNotNull(output, "output is null");
+    Objects.requireNonNull(applicationId, "applicationId is null");
+    Objects.requireNonNull(dagName, "dagName is null");
+    Objects.requireNonNull(vertexName, "vertexName is null");
+    Objects.requireNonNull(output, "output is null");
     this.applicationId = applicationId;
     this.dagAttemptNumber = dagAttemptNumber;
     this.dagName = dagName;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/RootInputVertexManager.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/RootInputVertexManager.java
index 38eba0e..afe2606 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/RootInputVertexManager.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/RootInputVertexManager.java
@@ -49,7 +49,7 @@ import org.apache.tez.runtime.api.events.VertexManagerEvent;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 
 import javax.annotation.Nullable;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/ScatterGatherEdgeManager.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/ScatterGatherEdgeManager.java
index 4d373ca..c5b4e1a 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/ScatterGatherEdgeManager.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/ScatterGatherEdgeManager.java
@@ -31,7 +31,7 @@ import org.apache.tez.dag.api.EdgeManagerPluginOnDemand;
 import org.apache.tez.runtime.api.events.DataMovementEvent;
 import org.apache.tez.runtime.api.events.InputReadErrorEvent;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 
 public class ScatterGatherEdgeManager extends EdgeManagerPluginOnDemand {
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/TaskAttemptImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/TaskAttemptImpl.java
index 0fc8f73..92597d5 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/TaskAttemptImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/TaskAttemptImpl.java
@@ -118,7 +118,7 @@ import org.apache.tez.runtime.api.impl.TezEvent;
 import org.apache.tez.runtime.api.impl.EventMetaData.EventProducerConsumerType;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/TaskImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/TaskImpl.java
index 39e2b4c..3470216 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/TaskImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/TaskImpl.java
@@ -32,7 +32,7 @@ import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.base.Predicate;
 import com.google.common.collect.Maps;
 
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/TezRootInputInitializerContextImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/TezRootInputInitializerContextImpl.java
index f713054..4376487 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/TezRootInputInitializerContextImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/TezRootInputInitializerContextImpl.java
@@ -18,9 +18,10 @@
 
 package org.apache.tez.dag.app.dag.impl;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+
 
 import java.util.Set;
+import java.util.Objects;
 
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.Resource;
@@ -50,10 +51,10 @@ public class TezRootInputInitializerContextImpl implements
       RootInputLeafOutput<InputDescriptor, InputInitializerDescriptor> input,
       Vertex vertex, AppContext appContext,
       RootInputInitializerManager manager) {
-    checkNotNull(input, "input is null");
-    checkNotNull(vertex, "vertex is null");
-    checkNotNull(appContext, "appContext is null");
-    checkNotNull(manager, "initializerManager is null");
+    Objects.requireNonNull(input, "input is null");
+    Objects.requireNonNull(vertex, "vertex is null");
+    Objects.requireNonNull(appContext, "appContext is null");
+    Objects.requireNonNull(manager, "initializerManager is null");
     this.input = input;
     this.vertex = vertex;
     this.appContext = appContext;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java
index 282350d..4af4856 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexImpl.java
@@ -192,7 +192,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.base.Strings;
 import com.google.common.collect.HashMultiset;
 import com.google.common.collect.Lists;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexManager.java b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexManager.java
index 7a1547f..03e03aa 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexManager.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/dag/impl/VertexManager.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.dag.app.dag.impl;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+
 
 import java.lang.reflect.UndeclaredThrowableException;
 import java.security.PrivilegedExceptionAction;
@@ -31,6 +31,7 @@ import java.util.Set;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.Objects;
 
 import javax.annotation.Nullable;
 
@@ -77,7 +78,7 @@ import org.apache.tez.runtime.api.impl.TezEvent;
 import org.apache.tez.runtime.api.impl.EventMetaData.EventProducerConsumerType;
 
 import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Collections2;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
@@ -302,7 +303,7 @@ public class VertexManager {
     @Override
     public synchronized void setVertexLocationHint(VertexLocationHint locationHint) {
       checkAndThrowIfDone();
-      Preconditions.checkNotNull(locationHint, "locationHint is null");
+      Objects.requireNonNull(locationHint, "locationHint is null");
       managedVertex.setVertexLocationHint(locationHint);
     }
 
@@ -410,10 +411,10 @@ public class VertexManager {
 
   public VertexManager(VertexManagerPluginDescriptor pluginDesc, UserGroupInformation dagUgi,
       Vertex managedVertex, AppContext appContext, StateChangeNotifier stateChangeNotifier) throws TezException {
-    checkNotNull(pluginDesc, "pluginDesc is null");
-    checkNotNull(managedVertex, "managedVertex is null");
-    checkNotNull(appContext, "appContext is null");
-    checkNotNull(stateChangeNotifier, "notifier is null");
+    Objects.requireNonNull(pluginDesc, "pluginDesc is null");
+    Objects.requireNonNull(managedVertex, "managedVertex is null");
+    Objects.requireNonNull(appContext, "appContext is null");
+    Objects.requireNonNull(stateChangeNotifier, "notifier is null");
     this.pluginDesc = pluginDesc;
     this.dagUgi = dagUgi;
     this.managedVertex = managedVertex;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/ContainerLauncherManager.java b/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/ContainerLauncherManager.java
index 58d87c9..d55787e 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/ContainerLauncherManager.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/ContainerLauncherManager.java
@@ -18,7 +18,7 @@ import java.net.UnknownHostException;
 import java.util.List;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.service.AbstractService;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/ContainerOp.java b/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/ContainerOp.java
index c62de66..df4a9c0 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/ContainerOp.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/ContainerOp.java
@@ -14,7 +14,7 @@
 
 package org.apache.tez.dag.app.launcher;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.tez.serviceplugins.api.ContainerLaunchRequest;
 import org.apache.tez.serviceplugins.api.ContainerLauncherOperationBase;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/LocalContainerLauncher.java b/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/LocalContainerLauncher.java
index 13e4115..a63ce3f 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/LocalContainerLauncher.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/launcher/LocalContainerLauncher.java
@@ -34,7 +34,7 @@ import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.RejectedExecutionException;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Maps;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/DagAwareYarnTaskScheduler.java b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/DagAwareYarnTaskScheduler.java
index 6a78425..3ba1bfa 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/DagAwareYarnTaskScheduler.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/DagAwareYarnTaskScheduler.java
@@ -19,7 +19,7 @@
 package org.apache.tez.dag.app.rm;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import org.apache.commons.lang.mutable.MutableInt;
 import org.apache.commons.math3.random.RandomDataGenerator;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerContextImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerContextImpl.java
index f273c8b..a31b4f1 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerContextImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerContextImpl.java
@@ -18,8 +18,8 @@ import javax.annotation.Nullable;
 import java.nio.ByteBuffer;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
-import com.google.common.base.Preconditions;
 import org.apache.hadoop.yarn.api.records.ApplicationAccessType;
 import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
 import org.apache.hadoop.yarn.api.records.Container;
@@ -190,7 +190,7 @@ public class TaskSchedulerContextImpl implements TaskSchedulerContext {
   @Override
   public void reportError(ServicePluginError servicePluginError, String diagnostics,
                           DagInfo dagInfo) {
-    Preconditions.checkNotNull(servicePluginError, "ServicePluginError must be specified");
+    Objects.requireNonNull(servicePluginError, "ServicePluginError must be specified");
     taskSchedulerManager.reportError(schedulerId, servicePluginError, diagnostics, dagInfo);
   }
 }
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerManager.java b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerManager.java
index 61e3702..57eba01 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerManager.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/TaskSchedulerManager.java
@@ -28,6 +28,7 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.Objects;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
@@ -92,7 +93,7 @@ import org.apache.tez.dag.records.TaskAttemptTerminationCause;
 import org.apache.tez.hadoop.shim.HadoopShim;
 import org.apache.tez.hadoop.shim.HadoopShimsLoader;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 
 public class TaskSchedulerManager extends AbstractService implements
@@ -483,7 +484,7 @@ public class TaskSchedulerManager extends AbstractService implements
       TaskBasedLocationAffinity taskAffinity = locationHint.getAffinitizedTask();
       if (taskAffinity != null) {
         Vertex vertex = appContext.getCurrentDAG().getVertex(taskAffinity.getVertexName());
-        Preconditions.checkNotNull(vertex, "Invalid vertex in task based affinity " + taskAffinity 
+        Objects.requireNonNull(vertex, "Invalid vertex in task based affinity " + taskAffinity
             + " for attempt: " + taskAttempt.getID());
         int taskIndex = taskAffinity.getTaskIndex(); 
         Preconditions.checkState(taskIndex >=0 && taskIndex < vertex.getTotalTasks(), 
@@ -491,7 +492,8 @@ public class TaskSchedulerManager extends AbstractService implements
             + " for attempt: " + taskAttempt.getID());
         TaskAttempt affinityAttempt = vertex.getTask(taskIndex).getSuccessfulAttempt();
         if (affinityAttempt != null) {
-          Preconditions.checkNotNull(affinityAttempt.getAssignedContainerID(), affinityAttempt.getID());
+          Objects.requireNonNull(affinityAttempt.getAssignedContainerID(),
+              affinityAttempt.getID() == null ? null : affinityAttempt.getID().toString());
           try {
             taskSchedulers[event.getSchedulerId()].allocateTask(taskAttempt,
                 event.getCapability(),
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/YarnTaskSchedulerService.java b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/YarnTaskSchedulerService.java
index a327967..c9102e9 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/YarnTaskSchedulerService.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/YarnTaskSchedulerService.java
@@ -69,7 +69,7 @@ import org.apache.tez.dag.api.TezUncheckedException;
 import org.apache.tez.common.ContainerSignatureMatcher;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/container/AMContainerImpl.java b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/container/AMContainerImpl.java
index 02243b8..6b67eb9 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/container/AMContainerImpl.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/container/AMContainerImpl.java
@@ -73,7 +73,7 @@ import org.apache.tez.dag.records.TezDAGID;
 import org.apache.tez.dag.records.TezTaskAttemptID;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 @SuppressWarnings("rawtypes")
 public class AMContainerImpl implements AMContainer {
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/container/AMContainerTask.java b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/container/AMContainerTask.java
index 7b22ba6..cfc143a 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/container/AMContainerTask.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/container/AMContainerTask.java
@@ -19,8 +19,8 @@
 package org.apache.tez.dag.app.rm.container;
 
 import java.util.Map;
+import java.util.Objects;
 
-import com.google.common.base.Preconditions;
 import org.apache.hadoop.security.Credentials;
 import org.apache.hadoop.yarn.api.records.LocalResource;
 import org.apache.tez.runtime.api.impl.TaskSpec;
@@ -35,7 +35,7 @@ public class AMContainerTask {
   public AMContainerTask(TaskSpec tezTask,
                          Map<String, LocalResource> additionalResources, Credentials credentials,
                          boolean credentialsChanged, int priority) {
-    Preconditions.checkNotNull(tezTask, "TaskSpec cannot be null");
+    Objects.requireNonNull(tezTask, "TaskSpec cannot be null");
     this.tezTask = tezTask;
     this.additionalResources = additionalResources;
     this.credentials = credentials;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/container/ContainerContextMatcher.java b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/container/ContainerContextMatcher.java
index 436f098..f9c57c8 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/rm/container/ContainerContextMatcher.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/rm/container/ContainerContextMatcher.java
@@ -21,18 +21,19 @@ package org.apache.tez.dag.app.rm.container;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Objects;
 
 import org.apache.hadoop.yarn.api.records.LocalResource;
 import org.apache.tez.dag.app.ContainerContext;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.tez.common.ContainerSignatureMatcher;
 
 public class ContainerContextMatcher implements ContainerSignatureMatcher {
 
   private void checkArguments(Object cs1, Object cs2) {
-    Preconditions.checkNotNull(cs1, "Arguments cannot be null");
-    Preconditions.checkNotNull(cs2, "Arguments cannot be null");
+    Objects.requireNonNull(cs1, "Arguments cannot be null");
+    Objects.requireNonNull(cs2, "Arguments cannot be null");
     Preconditions.checkArgument(cs1 instanceof ContainerContext
         && cs2 instanceof ContainerContext,
         "Container context can only compare instances of "
@@ -62,8 +63,8 @@ public class ContainerContextMatcher implements ContainerSignatureMatcher {
   @Override
   public Map<String, LocalResource> getAdditionalResources(Map<String, LocalResource> lr1,
       Map<String, LocalResource> lr2) {
-    Preconditions.checkNotNull(lr1);
-    Preconditions.checkNotNull(lr2);
+    Objects.requireNonNull(lr1);
+    Objects.requireNonNull(lr2);
 
     Map<String, LocalResource> c2LocalResources = new HashMap<String, LocalResource>(lr2);
     for (Entry<String, LocalResource> c1LocalResource : lr1.entrySet()) {
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/app/web/WebUIService.java b/tez-dag/src/main/java/org/apache/tez/dag/app/web/WebUIService.java
index 1ac178b..b1560a5 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/web/WebUIService.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/web/WebUIService.java
@@ -22,7 +22,7 @@ import static org.apache.hadoop.yarn.util.StringHelper.pajoin;
 
 import java.net.InetSocketAddress;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.inject.name.Names;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/tez-dag/src/main/java/org/apache/tez/dag/history/utils/DAGUtils.java b/tez-dag/src/main/java/org/apache/tez/dag/history/utils/DAGUtils.java
index 59afcf7..af67d7e 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/history/utils/DAGUtils.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/history/utils/DAGUtils.java
@@ -52,7 +52,7 @@ import org.apache.tez.dag.records.TezTaskID;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 public class DAGUtils {
 
diff --git a/tez-dag/src/test/java/org/apache/tez/dag/app/MockDAGAppMaster.java b/tez-dag/src/test/java/org/apache/tez/dag/app/MockDAGAppMaster.java
index 893e03d..638d084 100644
--- a/tez-dag/src/test/java/org/apache/tez/dag/app/MockDAGAppMaster.java
+++ b/tez-dag/src/test/java/org/apache/tez/dag/app/MockDAGAppMaster.java
@@ -73,7 +73,7 @@ import org.apache.tez.runtime.api.impl.TaskStatistics;
 import org.apache.tez.runtime.api.impl.TezEvent;
 import org.apache.tez.runtime.api.impl.EventMetaData.EventProducerConsumerType;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.util.concurrent.FutureCallback;
diff --git a/tez-dag/src/test/java/org/apache/tez/dag/app/TestDAGAppMaster.java b/tez-dag/src/test/java/org/apache/tez/dag/app/TestDAGAppMaster.java
index e4abab5..c3a9af1 100644
--- a/tez-dag/src/test/java/org/apache/tez/dag/app/TestDAGAppMaster.java
+++ b/tez-dag/src/test/java/org/apache/tez/dag/app/TestDAGAppMaster.java
@@ -39,7 +39,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.BiMap;
 import com.google.common.collect.HashBiMap;
 import com.google.common.collect.Lists;
diff --git a/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskSchedulerHelpers.java b/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskSchedulerHelpers.java
index 9cd1e23..b7acc68 100644
--- a/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskSchedulerHelpers.java
+++ b/tez-dag/src/test/java/org/apache/tez/dag/app/rm/TestTaskSchedulerHelpers.java
@@ -43,8 +43,8 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.Objects;
 
-import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import org.apache.hadoop.conf.Configuration;
@@ -392,8 +392,8 @@ class TestTaskSchedulerHelpers {
 
     @Override
     public boolean isSuperSet(Object cs1, Object cs2) {
-      Preconditions.checkNotNull(cs1, "Arguments cannot be null");
-      Preconditions.checkNotNull(cs2, "Arguments cannot be null");
+      Objects.requireNonNull(cs1, "Arguments cannot be null");
+      Objects.requireNonNull(cs2, "Arguments cannot be null");
       return true;
     }
 
@@ -417,8 +417,8 @@ class TestTaskSchedulerHelpers {
   static class PreemptionMatcher implements ContainerSignatureMatcher {
     @Override
     public boolean isSuperSet(Object cs1, Object cs2) {
-      Preconditions.checkNotNull(cs1, "Arguments cannot be null");
-      Preconditions.checkNotNull(cs2, "Arguments cannot be null");
+      Objects.requireNonNull(cs1, "Arguments cannot be null");
+      Objects.requireNonNull(cs2, "Arguments cannot be null");
       return true;
     }
 
diff --git a/tez-dag/src/test/java/org/apache/tez/test/GraceShuffleVertexManagerForTest.java b/tez-dag/src/test/java/org/apache/tez/test/GraceShuffleVertexManagerForTest.java
index 40a6bd3..ff89ef8 100644
--- a/tez-dag/src/test/java/org/apache/tez/test/GraceShuffleVertexManagerForTest.java
+++ b/tez-dag/src/test/java/org/apache/tez/test/GraceShuffleVertexManagerForTest.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.test;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.protobuf.ByteString;
 
 import org.apache.hadoop.conf.Configuration;
@@ -33,6 +33,7 @@ import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
 import java.util.EnumSet;
+import java.util.Objects;
 
 /**
  * A shuffle vertex manager that will set the vertex's parallelism upon
@@ -149,7 +150,7 @@ public final class GraceShuffleVertexManagerForTest extends ShuffleVertexManager
     }
 
     private GraceConf build() {
-      Preconditions.checkNotNull(grandparentVertex,
+      Objects.requireNonNull(grandparentVertex,
           "Grandparent vertex is required");
       Preconditions.checkArgument(desiredParallelism > 0,
           "Desired parallelism must be greater than 0");
diff --git a/tez-examples/src/main/java/org/apache/tez/examples/CartesianProduct.java b/tez-examples/src/main/java/org/apache/tez/examples/CartesianProduct.java
index 84367f8..a925137 100644
--- a/tez-examples/src/main/java/org/apache/tez/examples/CartesianProduct.java
+++ b/tez-examples/src/main/java/org/apache/tez/examples/CartesianProduct.java
@@ -17,7 +17,7 @@
  */
 package org.apache.tez.examples;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.IntWritable;
 import org.apache.hadoop.io.Text;
diff --git a/tez-examples/src/main/java/org/apache/tez/examples/HashJoinExample.java b/tez-examples/src/main/java/org/apache/tez/examples/HashJoinExample.java
index 935ccbc..05b63a6 100644
--- a/tez-examples/src/main/java/org/apache/tez/examples/HashJoinExample.java
+++ b/tez-examples/src/main/java/org/apache/tez/examples/HashJoinExample.java
@@ -53,7 +53,7 @@ import org.apache.tez.runtime.library.conf.UnorderedPartitionedKVEdgeConfig;
 import org.apache.tez.runtime.library.partitioner.HashPartitioner;
 import org.apache.tez.runtime.library.processor.SimpleProcessor;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * Simple example of joining 2 data sets using <a
diff --git a/tez-examples/src/main/java/org/apache/tez/examples/JoinDataGen.java b/tez-examples/src/main/java/org/apache/tez/examples/JoinDataGen.java
index 4c0d201..23fe0e8 100644
--- a/tez-examples/src/main/java/org/apache/tez/examples/JoinDataGen.java
+++ b/tez-examples/src/main/java/org/apache/tez/examples/JoinDataGen.java
@@ -46,7 +46,7 @@ import org.apache.tez.mapreduce.processor.SimpleMRProcessor;
 import org.apache.tez.runtime.api.ProcessorContext;
 import org.apache.tez.runtime.library.api.KeyValueWriter;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 public class JoinDataGen extends TezExampleBase {
 
diff --git a/tez-examples/src/main/java/org/apache/tez/examples/JoinValidate.java b/tez-examples/src/main/java/org/apache/tez/examples/JoinValidate.java
index d4f79fe..a5d3ebd 100644
--- a/tez-examples/src/main/java/org/apache/tez/examples/JoinValidate.java
+++ b/tez-examples/src/main/java/org/apache/tez/examples/JoinValidate.java
@@ -51,7 +51,7 @@ import org.apache.tez.runtime.library.conf.OrderedPartitionedKVEdgeConfig;
 import org.apache.tez.runtime.library.partitioner.HashPartitioner;
 import org.apache.tez.runtime.library.processor.SimpleProcessor;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Sets;
 
 public class JoinValidate extends TezExampleBase {
diff --git a/tez-examples/src/main/java/org/apache/tez/examples/OrderedWordCount.java b/tez-examples/src/main/java/org/apache/tez/examples/OrderedWordCount.java
index 6596809..12fd943 100644
--- a/tez-examples/src/main/java/org/apache/tez/examples/OrderedWordCount.java
+++ b/tez-examples/src/main/java/org/apache/tez/examples/OrderedWordCount.java
@@ -48,7 +48,7 @@ import org.apache.tez.runtime.library.conf.OrderedPartitionedKVEdgeConfig;
 import org.apache.tez.runtime.library.partitioner.HashPartitioner;
 import org.apache.tez.runtime.library.processor.SimpleProcessor;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * Simple example that extends the WordCount example to show a chain of processing.
diff --git a/tez-examples/src/main/java/org/apache/tez/examples/SortMergeJoinExample.java b/tez-examples/src/main/java/org/apache/tez/examples/SortMergeJoinExample.java
index 1054e00..a5b3c6e 100644
--- a/tez-examples/src/main/java/org/apache/tez/examples/SortMergeJoinExample.java
+++ b/tez-examples/src/main/java/org/apache/tez/examples/SortMergeJoinExample.java
@@ -50,7 +50,7 @@ import org.apache.tez.runtime.library.api.KeyValuesReader;
 import org.apache.tez.runtime.library.conf.OrderedPartitionedKVEdgeConfig;
 import org.apache.tez.runtime.library.partitioner.HashPartitioner;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * Simple example of joining 2 data sets using <a
diff --git a/tez-examples/src/main/java/org/apache/tez/examples/WordCount.java b/tez-examples/src/main/java/org/apache/tez/examples/WordCount.java
index 6149193..c58c3ba 100644
--- a/tez-examples/src/main/java/org/apache/tez/examples/WordCount.java
+++ b/tez-examples/src/main/java/org/apache/tez/examples/WordCount.java
@@ -47,7 +47,7 @@ import org.apache.tez.runtime.library.conf.OrderedPartitionedKVEdgeConfig;
 import org.apache.tez.runtime.library.partitioner.HashPartitioner;
 import org.apache.tez.runtime.library.processor.SimpleProcessor;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * Simple example to perform WordCount using Tez API's. WordCount is the 
diff --git a/tez-ext-service-tests/src/test/java/org/apache/tez/dag/app/launcher/TezTestServiceContainerLauncher.java b/tez-ext-service-tests/src/test/java/org/apache/tez/dag/app/launcher/TezTestServiceContainerLauncher.java
index 845a27b..110d918 100644
--- a/tez-ext-service-tests/src/test/java/org/apache/tez/dag/app/launcher/TezTestServiceContainerLauncher.java
+++ b/tez-ext-service-tests/src/test/java/org/apache/tez/dag/app/launcher/TezTestServiceContainerLauncher.java
@@ -17,7 +17,7 @@ package org.apache.tez.dag.app.launcher;
 import java.io.IOException;
 import java.net.InetSocketAddress;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.protobuf.ByteString;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.util.StringUtils;
diff --git a/tez-ext-service-tests/src/test/java/org/apache/tez/dag/app/rm/TezTestServiceTaskSchedulerService.java b/tez-ext-service-tests/src/test/java/org/apache/tez/dag/app/rm/TezTestServiceTaskSchedulerService.java
index 8b91dde..d7d0f01 100644
--- a/tez-ext-service-tests/src/test/java/org/apache/tez/dag/app/rm/TezTestServiceTaskSchedulerService.java
+++ b/tez-ext-service-tests/src/test/java/org/apache/tez/dag/app/rm/TezTestServiceTaskSchedulerService.java
@@ -23,7 +23,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.primitives.Ints;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
diff --git a/tez-ext-service-tests/src/test/java/org/apache/tez/service/MiniTezTestServiceCluster.java b/tez-ext-service-tests/src/test/java/org/apache/tez/service/MiniTezTestServiceCluster.java
index c5ff02d..3a6935f 100644
--- a/tez-ext-service-tests/src/test/java/org/apache/tez/service/MiniTezTestServiceCluster.java
+++ b/tez-ext-service-tests/src/test/java/org/apache/tez/service/MiniTezTestServiceCluster.java
@@ -18,7 +18,7 @@ import java.io.File;
 import java.io.IOException;
 import java.net.InetSocketAddress;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileContext;
 import org.apache.hadoop.fs.Path;
diff --git a/tez-ext-service-tests/src/test/java/org/apache/tez/service/impl/ContainerRunnerImpl.java b/tez-ext-service-tests/src/test/java/org/apache/tez/service/impl/ContainerRunnerImpl.java
index 5edfd7f..d440d1f 100644
--- a/tez-ext-service-tests/src/test/java/org/apache/tez/service/impl/ContainerRunnerImpl.java
+++ b/tez-ext-service-tests/src/test/java/org/apache/tez/service/impl/ContainerRunnerImpl.java
@@ -30,7 +30,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.atomic.AtomicReference;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Multimap;
 import com.google.common.util.concurrent.FutureCallback;
diff --git a/tez-ext-service-tests/src/test/java/org/apache/tez/service/impl/TezTestService.java b/tez-ext-service-tests/src/test/java/org/apache/tez/service/impl/TezTestService.java
index 85e9227..db14991 100644
--- a/tez-ext-service-tests/src/test/java/org/apache/tez/service/impl/TezTestService.java
+++ b/tez-ext-service-tests/src/test/java/org/apache/tez/service/impl/TezTestService.java
@@ -19,7 +19,7 @@ import java.util.Arrays;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.service.AbstractService;
 import org.apache.hadoop.util.StringUtils;
diff --git a/tez-ext-service-tests/src/test/java/org/apache/tez/shufflehandler/ShuffleHandler.java b/tez-ext-service-tests/src/test/java/org/apache/tez/shufflehandler/ShuffleHandler.java
index ebaf9fe..49dffe9 100644
--- a/tez-ext-service-tests/src/test/java/org/apache/tez/shufflehandler/ShuffleHandler.java
+++ b/tez-ext-service-tests/src/test/java/org/apache/tez/shufflehandler/ShuffleHandler.java
@@ -48,7 +48,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.regex.Pattern;
 
 import com.google.common.base.Charsets;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.LocalDirAllocator;
diff --git a/tez-ext-service-tests/src/test/java/org/apache/tez/tests/ExternalTezServiceTestHelper.java b/tez-ext-service-tests/src/test/java/org/apache/tez/tests/ExternalTezServiceTestHelper.java
index 14c19b5..c383122 100644
--- a/tez-ext-service-tests/src/test/java/org/apache/tez/tests/ExternalTezServiceTestHelper.java
+++ b/tez-ext-service-tests/src/test/java/org/apache/tez/tests/ExternalTezServiceTestHelper.java
@@ -18,8 +18,8 @@ import static org.junit.Assert.assertEquals;
 
 import java.io.IOException;
 import java.util.Map;
+import java.util.Objects;
 
-import com.google.common.base.Preconditions;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
@@ -188,7 +188,7 @@ public class ExternalTezServiceTestHelper {
   }
 
   public TezClient getSharedTezClient() {
-    Preconditions.checkNotNull(sharedTezClient);
+    Objects.requireNonNull(sharedTezClient);
     return sharedTezClient;
   }
 }
diff --git a/tez-mapreduce/src/main/java/org/apache/hadoop/mapred/split/TezGroupedSplitsInputFormat.java b/tez-mapreduce/src/main/java/org/apache/hadoop/mapred/split/TezGroupedSplitsInputFormat.java
index e082e3a..bce16ee 100644
--- a/tez-mapreduce/src/main/java/org/apache/hadoop/mapred/split/TezGroupedSplitsInputFormat.java
+++ b/tez-mapreduce/src/main/java/org/apache/hadoop/mapred/split/TezGroupedSplitsInputFormat.java
@@ -34,7 +34,7 @@ import org.apache.hadoop.mapred.Reporter;
 import org.apache.tez.common.ReflectionUtils;
 import org.apache.tez.dag.api.TezException;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * An InputFormat that provides a generic grouping around the splits
diff --git a/tez-mapreduce/src/main/java/org/apache/hadoop/mapred/split/TezMapredSplitsGrouper.java b/tez-mapreduce/src/main/java/org/apache/hadoop/mapred/split/TezMapredSplitsGrouper.java
index 2bfccfa..ccaccd6 100644
--- a/tez-mapreduce/src/main/java/org/apache/hadoop/mapred/split/TezMapredSplitsGrouper.java
+++ b/tez-mapreduce/src/main/java/org/apache/hadoop/mapred/split/TezMapredSplitsGrouper.java
@@ -23,7 +23,7 @@ import java.util.Arrays;
 import java.util.List;
 
 import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import org.apache.tez.mapreduce.grouper.GroupedSplitContainer;
 import org.apache.tez.mapreduce.grouper.MapredSplitContainer;
diff --git a/tez-mapreduce/src/main/java/org/apache/hadoop/mapreduce/split/TezGroupedSplitsInputFormat.java b/tez-mapreduce/src/main/java/org/apache/hadoop/mapreduce/split/TezGroupedSplitsInputFormat.java
index 5988728..226425c 100644
--- a/tez-mapreduce/src/main/java/org/apache/hadoop/mapreduce/split/TezGroupedSplitsInputFormat.java
+++ b/tez-mapreduce/src/main/java/org/apache/hadoop/mapreduce/split/TezGroupedSplitsInputFormat.java
@@ -37,7 +37,7 @@ import org.apache.tez.common.ReflectionUtils;
 import org.apache.tez.dag.api.TezException;
 import org.apache.tez.dag.api.TezUncheckedException;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * An InputFormat that provides a generic grouping around
diff --git a/tez-mapreduce/src/main/java/org/apache/hadoop/mapreduce/split/TezMapReduceSplitsGrouper.java b/tez-mapreduce/src/main/java/org/apache/hadoop/mapreduce/split/TezMapReduceSplitsGrouper.java
index b36d11d..629f01e 100644
--- a/tez-mapreduce/src/main/java/org/apache/hadoop/mapreduce/split/TezMapReduceSplitsGrouper.java
+++ b/tez-mapreduce/src/main/java/org/apache/hadoop/mapreduce/split/TezMapReduceSplitsGrouper.java
@@ -24,7 +24,7 @@ import java.util.List;
 import javax.annotation.Nullable;
 
 import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import org.apache.tez.mapreduce.grouper.GroupedSplitContainer;
 import org.apache.tez.mapreduce.grouper.MapReduceSplitContainer;
diff --git a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/common/Utils.java b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/common/Utils.java
index 42c68bd..050ba79 100644
--- a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/common/Utils.java
+++ b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/common/Utils.java
@@ -21,6 +21,7 @@ package org.apache.tez.mapreduce.common;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.conf.Configuration;
@@ -31,8 +32,6 @@ import org.apache.hadoop.mapred.Counters.Counter;
 import org.apache.tez.common.counters.TezCounter;
 import org.apache.tez.mapreduce.hadoop.mapred.MRCounters;
 
-import com.google.common.base.Preconditions;
-
 @Private
 public class Utils {
 
@@ -59,7 +58,7 @@ public class Utils {
   }
 
   public static Counter getMRCounter(TezCounter tezCounter) {
-    Preconditions.checkNotNull(tezCounter);
+    Objects.requireNonNull(tezCounter);
     return new MRCounters.MRCounter(tezCounter);
   }
   
diff --git a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/grouper/MapReduceSplitContainer.java b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/grouper/MapReduceSplitContainer.java
index 63e2138..fc6a424 100644
--- a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/grouper/MapReduceSplitContainer.java
+++ b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/grouper/MapReduceSplitContainer.java
@@ -15,8 +15,8 @@
 package org.apache.tez.mapreduce.grouper;
 
 import java.io.IOException;
+import java.util.Objects;
 
-import com.google.common.base.Preconditions;
 import org.apache.hadoop.mapreduce.InputSplit;
 
 public class MapReduceSplitContainer extends SplitContainer {
@@ -24,7 +24,7 @@ public class MapReduceSplitContainer extends SplitContainer {
   private final InputSplit inputSplit;
 
   public MapReduceSplitContainer(InputSplit inputSplit) {
-    Preconditions.checkNotNull(inputSplit);
+    Objects.requireNonNull(inputSplit);
     this.inputSplit = inputSplit;
   }
 
diff --git a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/grouper/MapredSplitContainer.java b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/grouper/MapredSplitContainer.java
index f7dbfda..ce86ad5 100644
--- a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/grouper/MapredSplitContainer.java
+++ b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/grouper/MapredSplitContainer.java
@@ -15,8 +15,8 @@
 package org.apache.tez.mapreduce.grouper;
 
 import java.io.IOException;
+import java.util.Objects;
 
-import com.google.common.base.Preconditions;
 import org.apache.hadoop.mapred.InputSplit;
 
 public class MapredSplitContainer extends SplitContainer {
@@ -24,7 +24,7 @@ public class MapredSplitContainer extends SplitContainer {
   private final InputSplit inputSplit;
 
   public MapredSplitContainer(InputSplit inputSplit) {
-    Preconditions.checkNotNull(inputSplit);
+    Objects.requireNonNull(inputSplit);
     this.inputSplit = inputSplit;
   }
 
diff --git a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/grouper/TezSplitGrouper.java b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/grouper/TezSplitGrouper.java
index 26e5a9e..6f3d9df 100644
--- a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/grouper/TezSplitGrouper.java
+++ b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/grouper/TezSplitGrouper.java
@@ -25,7 +25,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.yarn.util.RackResolver;
 import org.apache.tez.dag.api.TezUncheckedException;
diff --git a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/hadoop/InputSplitInfoMem.java b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/hadoop/InputSplitInfoMem.java
index d7873fc..5e1207b 100644
--- a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/hadoop/InputSplitInfoMem.java
+++ b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/hadoop/InputSplitInfoMem.java
@@ -28,7 +28,7 @@ import org.apache.hadoop.security.Credentials;
 import org.apache.tez.dag.api.TaskLocationHint;
 import org.apache.tez.mapreduce.protos.MRRuntimeProtos.MRSplitsProto;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * Represents InputSplitInfo for splits generated to memory. </p>
diff --git a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/hadoop/MRInputHelpers.java b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/hadoop/MRInputHelpers.java
index 2f3d7ce..9c42cda 100644
--- a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/hadoop/MRInputHelpers.java
+++ b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/hadoop/MRInputHelpers.java
@@ -27,9 +27,10 @@ import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 import com.google.protobuf.ByteString;
@@ -165,7 +166,7 @@ public class MRInputHelpers {
       throws IOException {
     // This may not need to use serialization factory, since OldFormat
     // always uses Writable to write splits.
-    Preconditions.checkNotNull(splitProto, "splitProto cannot be null");
+    Objects.requireNonNull(splitProto, "splitProto cannot be null");
     String className = splitProto.getSplitClassName();
     Class<InputSplit> clazz;
 
@@ -198,7 +199,7 @@ public class MRInputHelpers {
   public static org.apache.hadoop.mapreduce.InputSplit createNewFormatSplitFromUserPayload(
       MRRuntimeProtos.MRSplitProto splitProto, SerializationFactory serializationFactory)
       throws IOException {
-    Preconditions.checkNotNull(splitProto, "splitProto must be specified");
+    Objects.requireNonNull(splitProto, "splitProto must be specified");
     String className = splitProto.getSplitClassName();
     Class<org.apache.hadoop.mapreduce.InputSplit> clazz;
 
@@ -771,8 +772,8 @@ public class MRInputHelpers {
 
 
   private static String getStringProperty(Configuration conf, String propertyName) {
-    Preconditions.checkNotNull(conf, "Configuration must be provided");
-    Preconditions.checkNotNull(propertyName, "Property name must be provided");
+    Objects.requireNonNull(conf, "Configuration must be provided");
+    Objects.requireNonNull(propertyName, "Property name must be provided");
     return conf.get(propertyName);
   }
 
diff --git a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/input/MRInput.java b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/input/MRInput.java
index 317f6eb..5c8ad4e 100644
--- a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/input/MRInput.java
+++ b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/input/MRInput.java
@@ -70,7 +70,7 @@ import org.apache.tez.runtime.api.events.InputDataInformationEvent;
 import org.apache.tez.runtime.library.api.KeyValueReader;
 import org.apache.tez.runtime.library.api.TezRuntimeConfiguration;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 
 /**
diff --git a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/input/MultiMRInput.java b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/input/MultiMRInput.java
index de54b0d..ee776a5 100644
--- a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/input/MultiMRInput.java
+++ b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/input/MultiMRInput.java
@@ -30,7 +30,7 @@ import java.util.concurrent.locks.Condition;
 import java.util.concurrent.locks.ReentrantLock;
 
 import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.protobuf.ByteString;
 
diff --git a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/input/base/MRInputBase.java b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/input/base/MRInputBase.java
index 9a26c2b..d8c531e 100644
--- a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/input/base/MRInputBase.java
+++ b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/input/base/MRInputBase.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.mapreduce.input.base;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.conf.Configuration;
diff --git a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/lib/MRReaderMapReduce.java b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/lib/MRReaderMapReduce.java
index 10b871e..ad3d4d6 100644
--- a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/lib/MRReaderMapReduce.java
+++ b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/lib/MRReaderMapReduce.java
@@ -19,6 +19,7 @@
 package org.apache.tez.mapreduce.lib;
 
 import java.io.IOException;
+import java.util.Objects;
 
 import org.apache.tez.runtime.api.InputContext;
 import org.apache.tez.runtime.library.api.IOInterruptedException;
@@ -34,8 +35,6 @@ import org.apache.hadoop.mapreduce.TaskAttemptContext;
 import org.apache.hadoop.mapreduce.InputFormat;
 import org.apache.hadoop.mapreduce.RecordReader;
 
-import com.google.common.base.Preconditions;
-
 public class MRReaderMapReduce extends MRReader {
 
   private static final Logger LOG = LoggerFactory.getLogger(MRReader.class);
@@ -151,7 +150,7 @@ public class MRReaderMapReduce extends MRReader {
   }
 
   private void setupNewRecordReader() throws IOException {
-    Preconditions.checkNotNull(inputSplit, "Input split hasn't yet been setup");
+    Objects.requireNonNull(inputSplit, "Input split hasn't yet been setup");
     try {
       recordReader = inputFormat.createRecordReader(inputSplit, taskAttemptContext);
       recordReader.initialize(inputSplit, taskAttemptContext);
diff --git a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/lib/MRReaderMapred.java b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/lib/MRReaderMapred.java
index d81debb..21a4f96 100644
--- a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/lib/MRReaderMapred.java
+++ b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/lib/MRReaderMapred.java
@@ -19,6 +19,7 @@
 package org.apache.tez.mapreduce.lib;
 
 import java.io.IOException;
+import java.util.Objects;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -35,8 +36,6 @@ import org.apache.tez.mapreduce.hadoop.mapred.MRReporter;
 import org.apache.tez.mapreduce.input.MRInput;
 import org.apache.tez.runtime.api.InputContext;
 
-import com.google.common.base.Preconditions;
-
 public class MRReaderMapred extends MRReader {
 
   private static final Logger LOG = LoggerFactory.getLogger(MRReaderMapred.class);
@@ -153,7 +152,7 @@ public class MRReaderMapred extends MRReader {
   }
 
   private void setupOldRecordReader() throws IOException {
-    Preconditions.checkNotNull(inputSplit, "Input split hasn't yet been setup");
+    Objects.requireNonNull(inputSplit, "Input split hasn't yet been setup");
     recordReader = inputFormat.getRecordReader(inputSplit, this.jobConf, new MRReporter(
         tezCounters, inputSplit));
     setIncrementalConfigParams(inputSplit);
diff --git a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/output/MROutput.java b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/output/MROutput.java
index 6ed70c5..18047eb 100644
--- a/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/output/MROutput.java
+++ b/tez-mapreduce/src/main/java/org/apache/tez/mapreduce/output/MROutput.java
@@ -29,7 +29,7 @@ import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.commons.lang.StringUtils;
 import org.apache.hadoop.mapreduce.lib.output.LazyOutputFormat;
 import org.apache.tez.runtime.library.api.IOInterruptedException;
diff --git a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/ATSImportTool.java b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/ATSImportTool.java
index fee226a..f05e946 100644
--- a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/ATSImportTool.java
+++ b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/ATSImportTool.java
@@ -20,7 +20,7 @@ package org.apache.tez.history;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Joiner;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.base.Strings;
 import com.sun.jersey.api.client.Client;
 import com.sun.jersey.api.client.ClientHandlerException;
diff --git a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/ATSFileParser.java b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/ATSFileParser.java
index fb42129..e4720d4 100644
--- a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/ATSFileParser.java
+++ b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/ATSFileParser.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.history.parser;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Maps;
 import org.apache.commons.io.IOUtils;
 import org.apache.tez.dag.api.TezException;
diff --git a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/SimpleHistoryParser.java b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/SimpleHistoryParser.java
index 989dd51..3516de7 100644
--- a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/SimpleHistoryParser.java
+++ b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/SimpleHistoryParser.java
@@ -17,7 +17,7 @@
  */
 package org.apache.tez.history.parser;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.base.Strings;
 import com.google.common.collect.Maps;
 import org.apache.tez.dag.api.TezException;
diff --git a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/BaseParser.java b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/BaseParser.java
index 362dbd9..59ec03d 100644
--- a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/BaseParser.java
+++ b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/BaseParser.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.history.parser.datamodel;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.base.Predicate;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
diff --git a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/DagInfo.java b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/DagInfo.java
index 6bd691c..544e86a 100644
--- a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/DagInfo.java
+++ b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/DagInfo.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.history.parser.datamodel;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.base.Predicate;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.LinkedHashMultimap;
diff --git a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/TaskAttemptInfo.java b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/TaskAttemptInfo.java
index 885d743..3f39310 100644
--- a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/TaskAttemptInfo.java
+++ b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/TaskAttemptInfo.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.history.parser.datamodel;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.base.Strings;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
diff --git a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/TaskInfo.java b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/TaskInfo.java
index fb3f232..de74ad2 100644
--- a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/TaskInfo.java
+++ b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/TaskInfo.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.history.parser.datamodel;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.base.Predicate;
 import com.google.common.base.Strings;
 import com.google.common.collect.Iterables;
diff --git a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/VertexInfo.java b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/VertexInfo.java
index 038a874..efcce3b 100644
--- a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/VertexInfo.java
+++ b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/parser/datamodel/VertexInfo.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.history.parser.datamodel;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.base.Predicate;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.LinkedHashMultimap;
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/InputReadyTracker.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/InputReadyTracker.java
index ba4fe1d..b2b2b58 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/InputReadyTracker.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/InputReadyTracker.java
@@ -33,7 +33,7 @@ import java.util.concurrent.locks.ReentrantLock;
 import org.apache.tez.runtime.api.Input;
 import org.apache.tez.runtime.api.MergedLogicalInput;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/LogicalIOProcessorRuntimeTask.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/LogicalIOProcessorRuntimeTask.java
index 0ac916f..44cd320 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/LogicalIOProcessorRuntimeTask.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/LogicalIOProcessorRuntimeTask.java
@@ -96,7 +96,7 @@ import org.apache.tez.runtime.api.impl.TezUmbilical;
 import org.apache.tez.runtime.common.resources.MemoryDistributor;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Multimap;
 import com.google.common.collect.Sets;
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/EventMetaData.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/EventMetaData.java
index 0ee96af..1191a9f 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/EventMetaData.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/EventMetaData.java
@@ -18,11 +18,12 @@
 
 package org.apache.tez.runtime.api.impl;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+
 
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
+import java.util.Objects;
 
 import javax.annotation.Nullable;
 
@@ -70,8 +71,8 @@ public class EventMetaData implements Writable {
   public EventMetaData(EventProducerConsumerType generator,
       String taskVertexName, @Nullable String edgeVertexName,
       @Nullable TezTaskAttemptID taskAttemptID) {
-    checkNotNull(generator, "generator is null");
-    checkNotNull(taskVertexName, "taskVertexName is null");
+    Objects.requireNonNull(generator, "generator is null");
+    Objects.requireNonNull(taskVertexName, "taskVertexName is null");
     this.producerConsumerType = generator;
     this.taskVertexName = StringInterner.weakIntern(taskVertexName);
     this.edgeVertexName = StringInterner.weakIntern(edgeVertexName);
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TaskSpec.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TaskSpec.java
index 78bb1e9..fe9afc2 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TaskSpec.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TaskSpec.java
@@ -17,12 +17,13 @@
 
 package org.apache.tez.runtime.api.impl;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 import javax.annotation.Nullable;
 
@@ -73,11 +74,11 @@ public class TaskSpec implements Writable {
       ProcessorDescriptor processorDescriptor,
       List<InputSpec> inputSpecList, List<OutputSpec> outputSpecList,
       @Nullable List<GroupInputSpec> groupInputSpecList, Configuration taskConf) {
-    checkNotNull(dagName, "dagName is null");
-    checkNotNull(vertexName, "vertexName is null");
-    checkNotNull(processorDescriptor, "processorDescriptor is null");
-    checkNotNull(inputSpecList, "inputSpecList is null");
-    checkNotNull(outputSpecList, "outputSpecList is null");
+    Objects.requireNonNull(dagName, "dagName is null");
+    Objects.requireNonNull(vertexName, "vertexName is null");
+    Objects.requireNonNull(processorDescriptor, "processorDescriptor is null");
+    Objects.requireNonNull(inputSpecList, "inputSpecList is null");
+    Objects.requireNonNull(outputSpecList, "outputSpecList is null");
     this.taskAttemptId = null;
     this.dagName = StringInterner.weakIntern(dagName);
     this.vertexName = StringInterner.weakIntern(vertexName);
@@ -105,12 +106,12 @@ public class TaskSpec implements Writable {
       ProcessorDescriptor processorDescriptor,
       List<InputSpec> inputSpecList, List<OutputSpec> outputSpecList,
       @Nullable List<GroupInputSpec> groupInputSpecList, Configuration taskConf) {
-    checkNotNull(taskAttemptID, "taskAttemptID is null");
-    checkNotNull(dagName, "dagName is null");
-    checkNotNull(vertexName, "vertexName is null");
-    checkNotNull(processorDescriptor, "processorDescriptor is null");
-    checkNotNull(inputSpecList, "inputSpecList is null");
-    checkNotNull(outputSpecList, "outputSpecList is null");
+    Objects.requireNonNull(taskAttemptID, "taskAttemptID is null");
+    Objects.requireNonNull(dagName, "dagName is null");
+    Objects.requireNonNull(vertexName, "vertexName is null");
+    Objects.requireNonNull(processorDescriptor, "processorDescriptor is null");
+    Objects.requireNonNull(inputSpecList, "inputSpecList is null");
+    Objects.requireNonNull(outputSpecList, "outputSpecList is null");
     this.taskAttemptId = taskAttemptID;
     this.dagName = StringInterner.weakIntern(dagName);
     this.vertexName = StringInterner.weakIntern(vertexName);
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TaskStatistics.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TaskStatistics.java
index 0b4bef8..eba5823 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TaskStatistics.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TaskStatistics.java
@@ -26,7 +26,7 @@ import org.apache.hadoop.io.Text;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.util.StringInterner;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Maps;
 
 public class TaskStatistics implements Writable {
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezInputContextImpl.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezInputContextImpl.java
index 15a6485..9ff284d 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezInputContextImpl.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezInputContextImpl.java
@@ -18,15 +18,12 @@
 
 package org.apache.tez.runtime.api.impl;
 
-import com.google.common.base.Preconditions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 import javax.annotation.Nullable;
 
@@ -102,10 +99,10 @@ public class TezInputContextImpl extends TezTaskContextImpl
         taskVertexName, sourceVertexName, conf), runtimeTask, tezUmbilical,
         serviceConsumerMetadata, auxServiceEnv, memDist, inputDescriptor,
         objectRegistry, ExecutionContext, memAvailable, sharedExecutor);
-    checkNotNull(inputIndex, "inputIndex is null");
-    checkNotNull(sourceVertexName, "sourceVertexName is null");
-    checkNotNull(inputs, "input map is null");
-    checkNotNull(inputReadyTracker, "inputReadyTracker is null");
+    Objects.requireNonNull(inputIndex, "inputIndex is null");
+    Objects.requireNonNull(sourceVertexName, "sourceVertexName is null");
+    Objects.requireNonNull(inputs, "input map is null");
+    Objects.requireNonNull(inputReadyTracker, "inputReadyTracker is null");
     this.userPayload = userPayload;
     this.inputIndex = inputIndex;
     this.sourceVertexName = sourceVertexName;
@@ -131,7 +128,7 @@ public class TezInputContextImpl extends TezTaskContextImpl
 
   @Override
   public void sendEvents(List<Event> events) {
-    Preconditions.checkNotNull(events, "events are null");
+    Objects.requireNonNull(events, "events are null");
     List<TezEvent> tezEvents = new ArrayList<TezEvent>(events.size());
     for (Event e : events) {
       TezEvent tEvt = new TezEvent(e, sourceInfo);
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezMergedInputContextImpl.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezMergedInputContextImpl.java
index e35e332..553efcd 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezMergedInputContextImpl.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezMergedInputContextImpl.java
@@ -18,12 +18,13 @@
 
 package org.apache.tez.runtime.api.impl;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+
 
 import javax.annotation.Nullable;
 
 import java.util.Arrays;
 import java.util.Map;
+import java.util.Objects;
 
 import org.apache.tez.dag.api.UserPayload;
 import org.apache.tez.runtime.InputReadyTracker;
@@ -45,9 +46,9 @@ public class TezMergedInputContextImpl implements MergedInputContext {
                                    Map<String, MergedLogicalInput> groupInputsMap,
                                    InputReadyTracker inputReadyTracker, String[] workDirs,
                                    LogicalIOProcessorRuntimeTask runtimeTask) {
-    checkNotNull(groupInputName, "groupInputName is null");
-    checkNotNull(groupInputsMap, "input-group map is null");
-    checkNotNull(inputReadyTracker, "inputReadyTracker is null");
+    Objects.requireNonNull(groupInputName, "groupInputName is null");
+    Objects.requireNonNull(groupInputsMap, "input-group map is null");
+    Objects.requireNonNull(inputReadyTracker, "inputReadyTracker is null");
     this.groupInputName = groupInputName;
     this.groupInputsMap = groupInputsMap;
     this.userPayload = userPayload;
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezOutputContextImpl.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezOutputContextImpl.java
index 41e8d41..db32122 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezOutputContextImpl.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezOutputContextImpl.java
@@ -18,15 +18,12 @@
 
 package org.apache.tez.runtime.api.impl;
 
-import com.google.common.base.Preconditions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 import javax.annotation.Nullable;
 
@@ -97,8 +94,8 @@ public class TezOutputContextImpl extends TezTaskContextImpl
         runtimeTask, tezUmbilical, serviceConsumerMetadata,
         auxServiceEnv, memDist, outputDescriptor, objectRegistry, executionContext, memAvailable,
         sharedExecutor);
-    checkNotNull(outputIndex, "outputIndex is null");
-    checkNotNull(destinationVertexName, "destinationVertexName is null");
+    Objects.requireNonNull(outputIndex, "outputIndex is null");
+    Objects.requireNonNull(destinationVertexName, "destinationVertexName is null");
     this.userPayload = userPayload;
     this.outputIndex = outputIndex;
     this.destinationVertexName = destinationVertexName;
@@ -121,7 +118,7 @@ public class TezOutputContextImpl extends TezTaskContextImpl
 
   @Override
   public void sendEvents(List<Event> events) {
-    Preconditions.checkNotNull(events, "events are null");
+    Objects.requireNonNull(events, "events are null");
     List<TezEvent> tezEvents = new ArrayList<TezEvent>(events.size());
     for (Event e : events) {
       TezEvent tEvt = new TezEvent(e, sourceInfo);
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezProcessorContextImpl.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezProcessorContextImpl.java
index 54605c8..71ed077 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezProcessorContextImpl.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezProcessorContextImpl.java
@@ -18,16 +18,13 @@
 
 package org.apache.tez.runtime.api.impl;
 
-import com.google.common.base.Preconditions;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 import javax.annotation.Nullable;
 
@@ -69,7 +66,7 @@ public class TezProcessorContextImpl extends TezTaskContextImpl implements Proce
         runtimeTask.addAndGetTezCounter(vertexName), runtimeTask, tezUmbilical, serviceConsumerMetadata,
         auxServiceEnv, memDist, processorDescriptor, objectRegistry, ExecutionContext, memAvailable,
         sharedExecutor);
-    checkNotNull(inputReadyTracker, "inputReadyTracker is null");
+    Objects.requireNonNull(inputReadyTracker, "inputReadyTracker is null");
     this.userPayload = userPayload;
     this.sourceInfo = new EventMetaData(EventProducerConsumerType.PROCESSOR,
         taskVertexName, "", taskAttemptID);
@@ -78,7 +75,7 @@ public class TezProcessorContextImpl extends TezTaskContextImpl implements Proce
 
   @Override
   public void sendEvents(List<Event> events) {
-    Preconditions.checkNotNull(events, "events are null");
+    Objects.requireNonNull(events, "events are null");
     List<TezEvent> tezEvents = new ArrayList<TezEvent>(events.size());
     for (Event e : events) {
       TezEvent tEvt = new TezEvent(e, sourceInfo);
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezTaskContextImpl.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezTaskContextImpl.java
index 5a6a405..dccde82 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezTaskContextImpl.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/api/impl/TezTaskContextImpl.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.runtime.api.impl;
 
-import static com.google.common.base.Preconditions.checkNotNull;
+
 
 import java.io.Closeable;
 import java.io.IOException;
@@ -27,6 +27,7 @@ import java.util.Arrays;
 import java.util.Map;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.Objects;
 
 import javax.annotation.Nullable;
 
@@ -46,7 +47,7 @@ import org.apache.tez.runtime.api.ObjectRegistry;
 import org.apache.tez.runtime.api.TaskContext;
 import org.apache.tez.runtime.common.resources.MemoryDistributor;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 public abstract class TezTaskContextImpl implements TaskContext, Closeable {
 
@@ -79,16 +80,16 @@ public abstract class TezTaskContextImpl implements TaskContext, Closeable {
       Map<String, String> auxServiceEnv, MemoryDistributor memDist,
       EntityDescriptor<?> descriptor, ObjectRegistry objectRegistry,
       ExecutionContext ExecutionContext, long memAvailable, TezExecutors sharedExecutor) {
-    checkNotNull(conf, "conf is null");
-    checkNotNull(dagName, "dagName is null");
-    checkNotNull(taskVertexName, "taskVertexName is null");
-    checkNotNull(taskAttemptID, "taskAttemptId is null");
-    checkNotNull(counters, "counters is null");
-    checkNotNull(runtimeTask, "runtimeTask is null");
-    checkNotNull(auxServiceEnv, "auxServiceEnv is null");
-    checkNotNull(memDist, "memDist is null");
-    checkNotNull(descriptor, "descriptor is null");
-    checkNotNull(sharedExecutor, "sharedExecutor is null");
+    Objects.requireNonNull(conf, "conf is null");
+    Objects.requireNonNull(dagName, "dagName is null");
+    Objects.requireNonNull(taskVertexName, "taskVertexName is null");
+    Objects.requireNonNull(taskAttemptID, "taskAttemptId is null");
+    Objects.requireNonNull(counters, "counters is null");
+    Objects.requireNonNull(runtimeTask, "runtimeTask is null");
+    Objects.requireNonNull(auxServiceEnv, "auxServiceEnv is null");
+    Objects.requireNonNull(memDist, "memDist is null");
+    Objects.requireNonNull(descriptor, "descriptor is null");
+    Objects.requireNonNull(sharedExecutor, "sharedExecutor is null");
     this.dagName = dagName;
     this.taskVertexName = taskVertexName;
     this.taskAttemptID = taskAttemptID;
@@ -193,7 +194,7 @@ public abstract class TezTaskContextImpl implements TaskContext, Closeable {
   @Nullable
   @Override
   public ByteBuffer getServiceProviderMetaData(String serviceName) {
-    Preconditions.checkNotNull(serviceName, "serviceName is null");
+    Objects.requireNonNull(serviceName, "serviceName is null");
     return AuxiliaryServiceHelper.getServiceDataFromEnv(
         serviceName, auxServiceEnv);
   }
@@ -225,7 +226,7 @@ public abstract class TezTaskContextImpl implements TaskContext, Closeable {
 
   protected void signalFailure(TaskFailureType taskFailureType, Throwable t,
                                String message, EventMetaData sourceInfo) {
-    Preconditions.checkNotNull(taskFailureType, "TaskFailureType must be specified");
+    Objects.requireNonNull(taskFailureType, "TaskFailureType must be specified");
     runtimeTask.setFrameworkCounters();
     runtimeTask.registerError();
     tezUmbilical.signalFailure(taskAttemptID, taskFailureType, t, message, sourceInfo);
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/common/resources/MemoryDistributor.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/common/resources/MemoryDistributor.java
index e63a414..d8ba1f7 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/common/resources/MemoryDistributor.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/common/resources/MemoryDistributor.java
@@ -25,6 +25,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.Objects;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -43,7 +44,7 @@ import org.apache.tez.runtime.api.TaskContext;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Iterables;
 
 // Not calling this a MemoryManager explicitly. Not yet anyway.
@@ -175,9 +176,9 @@ public class MemoryDistributor {
   private long registerRequest(long requestSize, MemoryUpdateCallback callback,
       TaskContext entityContext, EntityDescriptor<?> descriptor) {
     Preconditions.checkArgument(requestSize >= 0);
-    Preconditions.checkNotNull(callback);
-    Preconditions.checkNotNull(entityContext);
-    Preconditions.checkNotNull(descriptor);
+    Objects.requireNonNull(callback);
+    Objects.requireNonNull(entityContext);
+    Objects.requireNonNull(descriptor);
     if (!dupSet.add(entityContext)) {
       throw new TezUncheckedException(
           "A single entity can only make one call to request resources for now");
@@ -207,7 +208,7 @@ public class MemoryDistributor {
   }
 
   private void validateAllocations(Iterable<Long> allocations, int numRequestors) {
-    Preconditions.checkNotNull(allocations);
+    Objects.requireNonNull(allocations);
     long totalAllocated = 0l;
     int numAllocations = 0;
     for (Long l : allocations) {
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/common/resources/ScalingAllocator.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/common/resources/ScalingAllocator.java
index aebb19b..872632e 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/common/resources/ScalingAllocator.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/common/resources/ScalingAllocator.java
@@ -29,7 +29,7 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.tez.dag.api.TezConfiguration;
 
 import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/task/TezChild.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/task/TezChild.java
index bae7f52..0693317 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/task/TezChild.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/task/TezChild.java
@@ -76,7 +76,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Function;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Multimap;
diff --git a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/task/TezTaskRunner2.java b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/task/TezTaskRunner2.java
index 306f2a7..ae81769 100644
--- a/tez-runtime-internals/src/main/java/org/apache/tez/runtime/task/TezTaskRunner2.java
+++ b/tez-runtime-internals/src/main/java/org/apache/tez/runtime/task/TezTaskRunner2.java
@@ -29,7 +29,7 @@ import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantLock;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Multimap;
 import org.apache.commons.lang.exception.ExceptionUtils;
 import org.apache.hadoop.conf.Configuration;
diff --git a/tez-runtime-internals/src/test/java/org/apache/tez/runtime/task/TestTaskExecution2.java b/tez-runtime-internals/src/test/java/org/apache/tez/runtime/task/TestTaskExecution2.java
index 07b9d33..d1bc60e 100644
--- a/tez-runtime-internals/src/test/java/org/apache/tez/runtime/task/TestTaskExecution2.java
+++ b/tez-runtime-internals/src/test/java/org/apache/tez/runtime/task/TestTaskExecution2.java
@@ -38,7 +38,7 @@ import java.util.concurrent.locks.Condition;
 import java.util.concurrent.locks.ReentrantLock;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Multimap;
 import com.google.common.util.concurrent.ListeningExecutorService;
diff --git a/tez-runtime-library/src/main/java/org/apache/hadoop/io/FileChunk.java b/tez-runtime-library/src/main/java/org/apache/hadoop/io/FileChunk.java
index e7a5c24..714bbcd 100644
--- a/tez-runtime-library/src/main/java/org/apache/hadoop/io/FileChunk.java
+++ b/tez-runtime-library/src/main/java/org/apache/hadoop/io/FileChunk.java
@@ -18,7 +18,8 @@
 
 package org.apache.hadoop.io;
 
-import com.google.common.base.Preconditions;
+import java.util.Objects;
+
 import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.fs.Path;
 import org.apache.tez.runtime.library.common.InputAttemptIdentifier;
@@ -40,7 +41,7 @@ public class FileChunk implements Comparable<FileChunk> {
     this.isLocalFile = isLocalFile;
     this.identifier = identifier;
     if (isLocalFile) {
-      Preconditions.checkNotNull(identifier);
+      Objects.requireNonNull(identifier);
     }
   }
 
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/FairShuffleVertexManager.java b/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/FairShuffleVertexManager.java
index f3971eb..af4e5b8 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/FairShuffleVertexManager.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/FairShuffleVertexManager.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.dag.library.vertexmanager;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.UnmodifiableIterator;
 
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/InputReadyVertexManager.java b/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/InputReadyVertexManager.java
index f05cd95..33c4a99 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/InputReadyVertexManager.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/InputReadyVertexManager.java
@@ -40,7 +40,7 @@ import org.apache.tez.runtime.api.Event;
 import org.apache.tez.runtime.api.TaskAttemptIdentifier;
 import org.apache.tez.runtime.api.events.VertexManagerEvent;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/ShuffleVertexManager.java b/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/ShuffleVertexManager.java
index ed27f04..b05c45a 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/ShuffleVertexManager.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/ShuffleVertexManager.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.dag.library.vertexmanager;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.protobuf.ByteString;
 import com.google.protobuf.InvalidProtocolBufferException;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/ShuffleVertexManagerBase.java b/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/ShuffleVertexManagerBase.java
index bb63bd5..05e2d8c 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/ShuffleVertexManagerBase.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/dag/library/vertexmanager/ShuffleVertexManagerBase.java
@@ -19,7 +19,7 @@
 package org.apache.tez.dag.library.vertexmanager;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.base.Predicate;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/http/HttpConnection.java b/tez-runtime-library/src/main/java/org/apache/tez/http/HttpConnection.java
index 9bfe4e7..3b45cdd 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/http/HttpConnection.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/http/HttpConnection.java
@@ -19,7 +19,7 @@
 package org.apache.tez.http;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.hadoop.io.DataOutputBuffer;
 import org.apache.hadoop.io.IOUtils;
 import org.apache.tez.common.security.JobTokenSecretManager;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/http/async/netty/AsyncHttpConnection.java b/tez-runtime-library/src/main/java/org/apache/tez/http/async/netty/AsyncHttpConnection.java
index 735bb46..74ea420 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/http/async/netty/AsyncHttpConnection.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/http/async/netty/AsyncHttpConnection.java
@@ -19,7 +19,7 @@
 package org.apache.tez.http.async.netty;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.ning.http.client.AsyncHttpClient;
 import com.ning.http.client.AsyncHttpClientConfig;
 import com.ning.http.client.ListenableFuture;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductCombination.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductCombination.java
index 8de8a02..c1eae70 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductCombination.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductCombination.java
@@ -17,7 +17,7 @@
  */
 package org.apache.tez.runtime.library.cartesianproduct;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.primitives.Ints;
 
 import java.util.Arrays;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductConfig.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductConfig.java
index 7aac1d7..e47b083 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductConfig.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductConfig.java
@@ -18,7 +18,7 @@
 package org.apache.tez.runtime.library.cartesianproduct;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.primitives.Ints;
 import com.google.protobuf.ByteString;
 import com.google.protobuf.InvalidProtocolBufferException;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductEdgeManager.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductEdgeManager.java
index a406c1b..0a3346e 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductEdgeManager.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductEdgeManager.java
@@ -18,7 +18,7 @@
 package org.apache.tez.runtime.library.cartesianproduct;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.protobuf.ByteString;
 import org.apache.tez.dag.api.EdgeManagerPluginContext;
 import org.apache.tez.dag.api.EdgeManagerPluginOnDemand;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductVertexManager.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductVertexManager.java
index ff22593..d1fcece 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductVertexManager.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/cartesianproduct/CartesianProductVertexManager.java
@@ -18,7 +18,7 @@
 package org.apache.tez.runtime.library.cartesianproduct;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.protobuf.ByteString;
 import org.apache.tez.dag.api.EdgeManagerPluginDescriptor;
 import org.apache.tez.dag.api.EdgeProperty;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/ConfigUtils.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/ConfigUtils.java
index 6aa797f..24ad0ad 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/ConfigUtils.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/ConfigUtils.java
@@ -24,7 +24,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.conf.Configuration;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/MemoryUpdateCallbackHandler.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/MemoryUpdateCallbackHandler.java
index 68f754d..ff31b49 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/MemoryUpdateCallbackHandler.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/MemoryUpdateCallbackHandler.java
@@ -22,7 +22,7 @@ import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.classification.InterfaceStability.Evolving;
 import org.apache.tez.runtime.api.MemoryUpdateCallback;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 @Public
 @Evolving
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/ValuesIterator.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/ValuesIterator.java
index 7add8c5..4a75cbd 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/ValuesIterator.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/ValuesIterator.java
@@ -33,7 +33,7 @@ import org.apache.hadoop.io.serializer.SerializationFactory;
 import org.apache.tez.common.counters.TezCounter;
 import org.apache.tez.runtime.library.common.sort.impl.TezRawKeyValueIterator;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * Iterates values while keys match in sorted input.
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/DiskFetchedInput.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/DiskFetchedInput.java
index 5d1c037..22b2899 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/DiskFetchedInput.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/DiskFetchedInput.java
@@ -31,7 +31,7 @@ import org.apache.hadoop.fs.Path;
 import org.apache.tez.runtime.library.common.InputAttemptIdentifier;
 import org.apache.tez.runtime.library.common.task.local.output.TezTaskOutputFiles;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 public class DiskFetchedInput extends FetchedInput {
 
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/Fetcher.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/Fetcher.java
index a3bbeca..fa883e4 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/Fetcher.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/Fetcher.java
@@ -67,7 +67,7 @@ import org.apache.tez.runtime.library.common.sort.impl.TezSpillRecord;
 import org.apache.tez.runtime.library.exceptions.FetcherReadTimeoutException;
 import org.apache.tez.runtime.library.common.shuffle.FetchedInput.Type;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * Responsible for fetching inputs served by the ShuffleHandler for a single
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/LocalDiskFetchedInput.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/LocalDiskFetchedInput.java
index 0ae8f08..cb6ea05 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/LocalDiskFetchedInput.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/LocalDiskFetchedInput.java
@@ -23,7 +23,7 @@ import java.io.InputStream;
 import java.io.OutputStream;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.commons.io.input.BoundedInputStream;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/MemoryFetchedInput.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/MemoryFetchedInput.java
index d0c3e77..63aefa8 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/MemoryFetchedInput.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/MemoryFetchedInput.java
@@ -25,7 +25,7 @@ import org.apache.hadoop.io.BoundedByteArrayOutputStream;
 import org.apache.tez.common.io.NonSyncByteArrayInputStream;
 import org.apache.tez.runtime.library.common.InputAttemptIdentifier;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 public class MemoryFetchedInput extends FetchedInput {
 
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/ShuffleUtils.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/ShuffleUtils.java
index df4281a..63afae1 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/ShuffleUtils.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/ShuffleUtils.java
@@ -35,7 +35,7 @@ import java.util.zip.Deflater;
 import javax.annotation.Nullable;
 import javax.crypto.SecretKey;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.primitives.Ints;
 import com.google.protobuf.ByteString;
 
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/impl/ShuffleManager.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/impl/ShuffleManager.java
index 5f3693f..cde273f 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/impl/ShuffleManager.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/impl/ShuffleManager.java
@@ -85,7 +85,7 @@ import org.apache.tez.runtime.library.common.shuffle.ShuffleUtils;
 import org.apache.tez.runtime.library.common.shuffle.ShuffleUtils.FetchStatsLogger;
 
 import com.google.common.base.Objects;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 import com.google.common.util.concurrent.FutureCallback;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/orderedgrouped/MergeManager.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/orderedgrouped/MergeManager.java
index 6ffdb56..2e5cc20 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/orderedgrouped/MergeManager.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/orderedgrouped/MergeManager.java
@@ -18,7 +18,7 @@
 package org.apache.tez.runtime.library.common.shuffle.orderedgrouped;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.commons.io.FilenameUtils;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceAudience.Private;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/orderedgrouped/Shuffle.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/orderedgrouped/Shuffle.java
index 0089d8c..4b426b7 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/orderedgrouped/Shuffle.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/orderedgrouped/Shuffle.java
@@ -56,7 +56,7 @@ import org.apache.tez.runtime.library.common.combine.Combiner;
 import org.apache.tez.runtime.library.common.sort.impl.TezRawKeyValueIterator;
 import org.apache.tez.runtime.library.exceptions.InputAlreadyClosedException;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/orderedgrouped/ShuffleScheduler.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/orderedgrouped/ShuffleScheduler.java
index d847932..d388b5b 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/orderedgrouped/ShuffleScheduler.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/orderedgrouped/ShuffleScheduler.java
@@ -43,7 +43,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.LinkedListMultimap;
 import com.google.common.collect.ListMultimap;
 import com.google.common.collect.Maps;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/sort/impl/ExternalSorter.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/sort/impl/ExternalSorter.java
index b6fe457..a9860ef 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/sort/impl/ExternalSorter.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/sort/impl/ExternalSorter.java
@@ -61,7 +61,7 @@ import org.apache.tez.runtime.library.common.shuffle.orderedgrouped.ShuffleHeade
 import org.apache.tez.runtime.library.common.sort.impl.IFile.Writer;
 import org.apache.tez.runtime.library.common.task.local.output.TezTaskOutput;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 @SuppressWarnings({"unchecked", "rawtypes"})
 public abstract class ExternalSorter {
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/sort/impl/PipelinedSorter.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/sort/impl/PipelinedSorter.java
index 7915662..1c14d81 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/sort/impl/PipelinedSorter.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/sort/impl/PipelinedSorter.java
@@ -34,7 +34,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.zip.Deflater;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 
 import org.apache.hadoop.classification.InterfaceAudience;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/sort/impl/dflt/DefaultSorter.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/sort/impl/dflt/DefaultSorter.java
index 557a538..cb551bd 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/sort/impl/dflt/DefaultSorter.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/sort/impl/dflt/DefaultSorter.java
@@ -62,7 +62,7 @@ import org.apache.tez.runtime.library.common.sort.impl.IFile.Writer;
 import org.apache.tez.runtime.library.common.sort.impl.TezMerger.DiskSegment;
 import org.apache.tez.runtime.library.common.sort.impl.TezMerger.Segment;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 import static org.apache.tez.runtime.library.common.sort.impl.TezSpillRecord.SPILL_FILE_PERMS;
 
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/task/local/output/TezTaskOutputFiles.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/task/local/output/TezTaskOutputFiles.java
index 97a2509..88474f9 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/task/local/output/TezTaskOutputFiles.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/task/local/output/TezTaskOutputFiles.java
@@ -20,7 +20,7 @@ package org.apache.tez.runtime.library.common.task.local.output;
 
 import java.io.IOException;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.hadoop.classification.InterfaceAudience;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/writers/UnorderedPartitionedKVWriter.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/writers/UnorderedPartitionedKVWriter.java
index 29478dc..76a43f9 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/writers/UnorderedPartitionedKVWriter.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/writers/UnorderedPartitionedKVWriter.java
@@ -75,7 +75,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/OrderedGroupedKVInputConfig.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/OrderedGroupedKVInputConfig.java
index 11a8d6f..e7b9693 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/OrderedGroupedKVInputConfig.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/OrderedGroupedKVInputConfig.java
@@ -24,9 +24,10 @@ import javax.annotation.Nullable;
 
 import java.io.IOException;
 import java.util.Map;
+import java.util.Objects;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 
 import org.apache.hadoop.classification.InterfaceAudience;
@@ -299,8 +300,8 @@ public class OrderedGroupedKVInputConfig {
     @InterfaceAudience.Private
     Builder(String keyClassName, String valueClassName) {
       this();
-      Preconditions.checkNotNull(keyClassName, "Key class name cannot be null");
-      Preconditions.checkNotNull(valueClassName, "Value class name cannot be null");
+      Objects.requireNonNull(keyClassName, "Key class name cannot be null");
+      Objects.requireNonNull(valueClassName, "Value class name cannot be null");
       setKeyClassName(keyClassName);
       setValueClassName(valueClassName);
     }
@@ -316,14 +317,14 @@ public class OrderedGroupedKVInputConfig {
 
     @InterfaceAudience.Private
     Builder setKeyClassName(String keyClassName) {
-      Preconditions.checkNotNull(keyClassName, "Key class name cannot be null");
+      Objects.requireNonNull(keyClassName, "Key class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_KEY_CLASS, keyClassName);
       return this;
     }
 
     @InterfaceAudience.Private
     Builder setValueClassName(String valueClassName) {
-      Preconditions.checkNotNull(valueClassName, "Value class name cannot be null");
+      Objects.requireNonNull(valueClassName, "Value class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_VALUE_CLASS, valueClassName);
       return this;
     }
@@ -404,7 +405,7 @@ public class OrderedGroupedKVInputConfig {
      */
     public Builder setKeyComparatorClass(String comparatorClassName,
                                          @Nullable Map<String, String> comparatorConf) {
-      Preconditions.checkNotNull(comparatorClassName, "Comparator class name cannot be null");
+      Objects.requireNonNull(comparatorClassName, "Comparator class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_KEY_COMPARATOR_CLASS,
           comparatorClassName);
       if (comparatorConf != null) {
@@ -418,7 +419,7 @@ public class OrderedGroupedKVInputConfig {
     @SuppressWarnings("unchecked")
     @Override
     public Builder setAdditionalConfiguration(String key, String value) {
-      Preconditions.checkNotNull(key, "Key cannot be null");
+      Objects.requireNonNull(key, "Key cannot be null");
       if (ConfigUtils.doesKeyQualify(key,
           Lists.newArrayList(OrderedGroupedKVInput.getConfigurationKeySet(),
               TezRuntimeConfiguration.getRuntimeAdditionalConfigKeySet()),
@@ -435,7 +436,7 @@ public class OrderedGroupedKVInputConfig {
     @SuppressWarnings("unchecked")
     @Override
     public Builder setAdditionalConfiguration(Map<String, String> confMap) {
-      Preconditions.checkNotNull(confMap, "ConfMap cannot be null");
+      Objects.requireNonNull(confMap, "ConfMap cannot be null");
       Map<String, String> map = ConfigUtils.extractConfigurationMap(confMap,
           Lists.newArrayList(OrderedGroupedKVInput.getConfigurationKeySet(),
               TezRuntimeConfiguration.getRuntimeAdditionalConfigKeySet()), TezRuntimeConfiguration.getAllowedPrefixes());
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/OrderedPartitionedKVEdgeConfig.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/OrderedPartitionedKVEdgeConfig.java
index 3504203..e4e9be2 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/OrderedPartitionedKVEdgeConfig.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/OrderedPartitionedKVEdgeConfig.java
@@ -21,8 +21,7 @@ package org.apache.tez.runtime.library.conf;
 import javax.annotation.Nullable;
 
 import java.util.Map;
-
-import com.google.common.base.Preconditions;
+import java.util.Objects;
 
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
@@ -145,7 +144,7 @@ public class OrderedPartitionedKVEdgeConfig
    * @return an {@link org.apache.tez.dag.api.EdgeProperty} instance
    */
   public EdgeProperty createDefaultCustomEdgeProperty(EdgeManagerPluginDescriptor edgeManagerDescriptor) {
-    Preconditions.checkNotNull(edgeManagerDescriptor, "EdgeManagerDescriptor cannot be null");
+    Objects.requireNonNull(edgeManagerDescriptor, "EdgeManagerDescriptor cannot be null");
     EdgeProperty edgeProperty =
         EdgeProperty.create(edgeManagerDescriptor, EdgeProperty.DataSourceType.PERSISTED,
             EdgeProperty.SchedulingType.SEQUENTIAL,
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/OrderedPartitionedKVOutputConfig.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/OrderedPartitionedKVOutputConfig.java
index 0f37c66..7c92f38 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/OrderedPartitionedKVOutputConfig.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/OrderedPartitionedKVOutputConfig.java
@@ -24,9 +24,10 @@ import javax.annotation.Nullable;
 
 import java.io.IOException;
 import java.util.Map;
+import java.util.Objects;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 
 import org.apache.hadoop.classification.InterfaceAudience;
@@ -261,9 +262,9 @@ public class OrderedPartitionedKVOutputConfig {
     Builder(String keyClassName, String valueClassName, String partitionerClassName,
                    @Nullable Map<String, String> partitionerConf) {
       this();
-      Preconditions.checkNotNull(keyClassName, "Key class name cannot be null");
-      Preconditions.checkNotNull(valueClassName, "Value class name cannot be null");
-      Preconditions.checkNotNull(partitionerClassName, "Partitioner class name cannot be null");
+      Objects.requireNonNull(keyClassName, "Key class name cannot be null");
+      Objects.requireNonNull(valueClassName, "Value class name cannot be null");
+      Objects.requireNonNull(partitionerClassName, "Partitioner class name cannot be null");
       setKeyClassName(keyClassName);
       setValueClassName(valueClassName);
       setPartitioner(partitionerClassName, partitionerConf);
@@ -280,21 +281,21 @@ public class OrderedPartitionedKVOutputConfig {
 
     @InterfaceAudience.Private
     Builder setKeyClassName(String keyClassName) {
-      Preconditions.checkNotNull(keyClassName, "Key class name cannot be null");
+      Objects.requireNonNull(keyClassName, "Key class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_KEY_CLASS, keyClassName);
       return this;
     }
 
     @InterfaceAudience.Private
     Builder setValueClassName(String valueClassName) {
-      Preconditions.checkNotNull(valueClassName, "Value class name cannot be null");
+      Objects.requireNonNull(valueClassName, "Value class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_VALUE_CLASS, valueClassName);
       return this;
     }
 
     @InterfaceAudience.Private
     Builder setPartitioner(String partitionerClassName, @Nullable Map<String, String> partitionerConf) {
-      Preconditions.checkNotNull(partitionerClassName, "Partitioner class name cannot be null");
+      Objects.requireNonNull(partitionerClassName, "Partitioner class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_PARTITIONER_CLASS, partitionerClassName);
       if (partitionerConf != null) {
         // Merging the confs for now. Change to be specific in the future.
@@ -334,7 +335,7 @@ public class OrderedPartitionedKVOutputConfig {
 
     @Override
     public Builder setSorter(SorterImpl sorterImpl) {
-      Preconditions.checkNotNull(sorterImpl, "Sorter cannot be null");
+      Objects.requireNonNull(sorterImpl, "Sorter cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_SORTER_CLASS,
           sorterImpl.name());
       return this;
@@ -344,7 +345,7 @@ public class OrderedPartitionedKVOutputConfig {
     @SuppressWarnings("unchecked")
     @Override
     public Builder setAdditionalConfiguration(String key, String value) {
-      Preconditions.checkNotNull(key, "Key cannot be null");
+      Objects.requireNonNull(key, "Key cannot be null");
       if (ConfigUtils.doesKeyQualify(key,
           Lists.newArrayList(OrderedPartitionedKVOutput.getConfigurationKeySet(),
               TezRuntimeConfiguration.getRuntimeAdditionalConfigKeySet()),
@@ -361,7 +362,7 @@ public class OrderedPartitionedKVOutputConfig {
     @SuppressWarnings("unchecked")
     @Override
     public Builder setAdditionalConfiguration(Map<String, String> confMap) {
-      Preconditions.checkNotNull(confMap, "ConfMap cannot be null");
+      Objects.requireNonNull(confMap, "ConfMap cannot be null");
       Map<String, String> map = ConfigUtils.extractConfigurationMap(confMap,
           Lists.newArrayList(OrderedPartitionedKVOutput.getConfigurationKeySet(),
               TezRuntimeConfiguration.getRuntimeAdditionalConfigKeySet()), TezRuntimeConfiguration.getAllowedPrefixes());
@@ -414,7 +415,7 @@ public class OrderedPartitionedKVOutputConfig {
      */
     public Builder setKeyComparatorClass(String comparatorClassName,
                                          @Nullable Map<String, String> comparatorConf) {
-      Preconditions.checkNotNull(comparatorClassName, "Comparator class name cannot be null");
+      Objects.requireNonNull(comparatorClassName, "Comparator class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_KEY_COMPARATOR_CLASS,
           comparatorClassName);
       if (comparatorConf != null) {
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedKVEdgeConfig.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedKVEdgeConfig.java
index 25a4823..c4e8694 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedKVEdgeConfig.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedKVEdgeConfig.java
@@ -23,8 +23,7 @@ package org.apache.tez.runtime.library.conf;
 import javax.annotation.Nullable;
 
 import java.util.Map;
-
-import com.google.common.base.Preconditions;
+import java.util.Objects;
 
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
@@ -147,7 +146,7 @@ public class UnorderedKVEdgeConfig extends HadoopKeyValuesBasedBaseEdgeConfig {
    * @return an {@link org.apache.tez.dag.api.EdgeProperty} instance
    */
   public EdgeProperty createDefaultCustomEdgeProperty(EdgeManagerPluginDescriptor edgeManagerDescriptor) {
-    Preconditions.checkNotNull(edgeManagerDescriptor, "EdgeManagerDescriptor cannot be null");
+    Objects.requireNonNull(edgeManagerDescriptor, "EdgeManagerDescriptor cannot be null");
     EdgeProperty edgeProperty =
         EdgeProperty.create(edgeManagerDescriptor, EdgeProperty.DataSourceType.PERSISTED,
             EdgeProperty.SchedulingType.SEQUENTIAL,
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedKVInputConfig.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedKVInputConfig.java
index af7dbf6..6ac0dbb 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedKVInputConfig.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedKVInputConfig.java
@@ -24,9 +24,10 @@ import javax.annotation.Nullable;
 
 import java.io.IOException;
 import java.util.Map;
+import java.util.Objects;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 
 import org.apache.hadoop.classification.InterfaceAudience;
@@ -213,8 +214,8 @@ public class UnorderedKVInputConfig {
     @InterfaceAudience.Private
     Builder(String keyClassName, String valueClassName) {
       this();
-      Preconditions.checkNotNull(keyClassName, "Key class name cannot be null");
-      Preconditions.checkNotNull(valueClassName, "Value class name cannot be null");
+      Objects.requireNonNull(keyClassName, "Key class name cannot be null");
+      Objects.requireNonNull(valueClassName, "Value class name cannot be null");
       setKeyClassName(keyClassName);
       setValueClassName(valueClassName);
     }
@@ -230,14 +231,14 @@ public class UnorderedKVInputConfig {
 
     @InterfaceAudience.Private
     Builder setKeyClassName(String keyClassName) {
-      Preconditions.checkNotNull(keyClassName, "Key class name cannot be null");
+      Objects.requireNonNull(keyClassName, "Key class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_KEY_CLASS, keyClassName);
       return this;
     }
 
     @InterfaceAudience.Private
     Builder setValueClassName(String valueClassName) {
-      Preconditions.checkNotNull(valueClassName, "Value class name cannot be null");
+      Objects.requireNonNull(valueClassName, "Value class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_VALUE_CLASS, valueClassName);
       return this;
     }
@@ -265,7 +266,7 @@ public class UnorderedKVInputConfig {
     @SuppressWarnings("unchecked")
     @Override
     public Builder setAdditionalConfiguration(String key, String value) {
-      Preconditions.checkNotNull(key, "Key cannot be null");
+      Objects.requireNonNull(key, "Key cannot be null");
       if (ConfigUtils.doesKeyQualify(key,
           Lists.newArrayList(UnorderedKVInput.getConfigurationKeySet(),
               TezRuntimeConfiguration.getRuntimeAdditionalConfigKeySet()),
@@ -282,7 +283,7 @@ public class UnorderedKVInputConfig {
     @SuppressWarnings("unchecked")
     @Override
     public Builder setAdditionalConfiguration(Map<String, String> confMap) {
-      Preconditions.checkNotNull(confMap, "ConfMap cannot be null");
+      Objects.requireNonNull(confMap, "ConfMap cannot be null");
       Map<String, String> map = ConfigUtils.extractConfigurationMap(confMap,
           Lists.newArrayList(UnorderedKVInput.getConfigurationKeySet(),
               TezRuntimeConfiguration.getRuntimeAdditionalConfigKeySet()), TezRuntimeConfiguration.getAllowedPrefixes());
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedKVOutputConfig.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedKVOutputConfig.java
index a9a15a0..34513ba 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedKVOutputConfig.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedKVOutputConfig.java
@@ -24,9 +24,10 @@ import javax.annotation.Nullable;
 
 import java.io.IOException;
 import java.util.Map;
+import java.util.Objects;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 
 import org.apache.hadoop.classification.InterfaceAudience;
@@ -160,8 +161,8 @@ public class UnorderedKVOutputConfig {
     @InterfaceAudience.Private
     Builder(String keyClassName, String valueClassName) {
       this();
-      Preconditions.checkNotNull(keyClassName, "Key class name cannot be null");
-      Preconditions.checkNotNull(valueClassName, "Value class name cannot be null");
+      Objects.requireNonNull(keyClassName, "Key class name cannot be null");
+      Objects.requireNonNull(valueClassName, "Value class name cannot be null");
       setKeyClassName(keyClassName);
       setValueClassName(valueClassName);
     }
@@ -177,14 +178,14 @@ public class UnorderedKVOutputConfig {
 
     @InterfaceAudience.Private
     Builder setKeyClassName(String keyClassName) {
-      Preconditions.checkNotNull(keyClassName, "Key class name cannot be null");
+      Objects.requireNonNull(keyClassName, "Key class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_KEY_CLASS, keyClassName);
       return this;
     }
 
     @InterfaceAudience.Private
     Builder setValueClassName(String valueClassName) {
-      Preconditions.checkNotNull(valueClassName, "Value class name cannot be null");
+      Objects.requireNonNull(valueClassName, "Value class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_VALUE_CLASS, valueClassName);
       return this;
     }
@@ -192,7 +193,7 @@ public class UnorderedKVOutputConfig {
     @SuppressWarnings("unchecked")
     @Override
     public Builder setAdditionalConfiguration(String key, String value) {
-      Preconditions.checkNotNull(key, "Key cannot be null");
+      Objects.requireNonNull(key, "Key cannot be null");
       if (ConfigUtils.doesKeyQualify(key,
           Lists.newArrayList(UnorderedKVOutput.getConfigurationKeySet(),
               TezRuntimeConfiguration.getRuntimeAdditionalConfigKeySet()),
@@ -209,7 +210,7 @@ public class UnorderedKVOutputConfig {
     @SuppressWarnings("unchecked")
     @Override
     public Builder setAdditionalConfiguration(Map<String, String> confMap) {
-      Preconditions.checkNotNull(confMap, "ConfMap cannot be null");
+      Objects.requireNonNull(confMap, "ConfMap cannot be null");
       Map<String, String> map = ConfigUtils.extractConfigurationMap(confMap,
           Lists.newArrayList(UnorderedKVOutput.getConfigurationKeySet(),
               TezRuntimeConfiguration.getRuntimeAdditionalConfigKeySet()), TezRuntimeConfiguration.getAllowedPrefixes());
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedPartitionedKVEdgeConfig.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedPartitionedKVEdgeConfig.java
index 52da491..0d8a5ae 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedPartitionedKVEdgeConfig.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedPartitionedKVEdgeConfig.java
@@ -23,8 +23,7 @@ package org.apache.tez.runtime.library.conf;
 import javax.annotation.Nullable;
 
 import java.util.Map;
-
-import com.google.common.base.Preconditions;
+import java.util.Objects;
 
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
@@ -151,7 +150,7 @@ public class UnorderedPartitionedKVEdgeConfig
    * @return an {@link org.apache.tez.dag.api.EdgeProperty} instance
    */
   public EdgeProperty createDefaultCustomEdgeProperty(EdgeManagerPluginDescriptor edgeManagerDescriptor) {
-    Preconditions.checkNotNull(edgeManagerDescriptor, "EdgeManagerDescriptor cannot be null");
+    Objects.requireNonNull(edgeManagerDescriptor, "EdgeManagerDescriptor cannot be null");
     EdgeProperty edgeProperty =
         EdgeProperty.create(edgeManagerDescriptor, EdgeProperty.DataSourceType.PERSISTED,
             EdgeProperty.SchedulingType.SEQUENTIAL,
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedPartitionedKVOutputConfig.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedPartitionedKVOutputConfig.java
index 3555e1c..c924e7d 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedPartitionedKVOutputConfig.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/conf/UnorderedPartitionedKVOutputConfig.java
@@ -24,9 +24,10 @@ import javax.annotation.Nullable;
 
 import java.io.IOException;
 import java.util.Map;
+import java.util.Objects;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 
 import org.apache.hadoop.classification.InterfaceAudience;
@@ -183,9 +184,9 @@ public class UnorderedPartitionedKVOutputConfig {
     Builder(String keyClassName, String valueClassName, String partitionerClassName,
                    Map<String, String> partitionerConf) {
       this();
-      Preconditions.checkNotNull(keyClassName, "Key class name cannot be null");
-      Preconditions.checkNotNull(valueClassName, "Value class name cannot be null");
-      Preconditions.checkNotNull(partitionerClassName, "Partitioner class name cannot be null");
+      Objects.requireNonNull(keyClassName, "Key class name cannot be null");
+      Objects.requireNonNull(valueClassName, "Value class name cannot be null");
+      Objects.requireNonNull(partitionerClassName, "Partitioner class name cannot be null");
       setKeyClassName(keyClassName);
       setValueClassName(valueClassName);
       setPartitioner(partitionerClassName, partitionerConf);
@@ -202,21 +203,21 @@ public class UnorderedPartitionedKVOutputConfig {
 
     @InterfaceAudience.Private
     Builder setKeyClassName(String keyClassName) {
-      Preconditions.checkNotNull(keyClassName, "Key class name cannot be null");
+      Objects.requireNonNull(keyClassName, "Key class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_KEY_CLASS, keyClassName);
       return this;
     }
 
     @InterfaceAudience.Private
     Builder setValueClassName(String valueClassName) {
-      Preconditions.checkNotNull(valueClassName, "Value class name cannot be null");
+      Objects.requireNonNull(valueClassName, "Value class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_VALUE_CLASS, valueClassName);
       return this;
     }
 
     @InterfaceAudience.Private
     Builder setPartitioner(String partitionerClassName, Map<String, String> partitionerConf) {
-      Preconditions.checkNotNull(partitionerClassName, "Partitioner class name cannot be null");
+      Objects.requireNonNull(partitionerClassName, "Partitioner class name cannot be null");
       this.conf.set(TezRuntimeConfiguration.TEZ_RUNTIME_PARTITIONER_CLASS, partitionerClassName);
       if (partitionerConf != null) {
         // Merging the confs for now. Change to be specific in the future.
@@ -236,7 +237,7 @@ public class UnorderedPartitionedKVOutputConfig {
     @SuppressWarnings("unchecked")
     @Override
     public Builder setAdditionalConfiguration(String key, String value) {
-      Preconditions.checkNotNull(key, "Key cannot be null");
+      Objects.requireNonNull(key, "Key cannot be null");
       if (ConfigUtils.doesKeyQualify(key,
           Lists.newArrayList(UnorderedPartitionedKVOutput.getConfigurationKeySet(),
               TezRuntimeConfiguration.getRuntimeAdditionalConfigKeySet()),
@@ -253,7 +254,7 @@ public class UnorderedPartitionedKVOutputConfig {
     @SuppressWarnings("unchecked")
     @Override
     public Builder setAdditionalConfiguration(Map<String, String> confMap) {
-      Preconditions.checkNotNull(confMap, "ConfMap cannot be null");
+      Objects.requireNonNull(confMap, "ConfMap cannot be null");
       Map<String, String> map = ConfigUtils.extractConfigurationMap(confMap,
           Lists.newArrayList(UnorderedPartitionedKVOutput.getConfigurationKeySet(),
               TezRuntimeConfiguration.getRuntimeAdditionalConfigKeySet()), TezRuntimeConfiguration.getAllowedPrefixes());
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/input/OrderedGroupedKVInput.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/input/OrderedGroupedKVInput.java
index 1cc6d4b..c1879bc 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/input/OrderedGroupedKVInput.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/input/OrderedGroupedKVInput.java
@@ -54,7 +54,7 @@ import org.apache.tez.runtime.library.common.ValuesIterator;
 import org.apache.tez.runtime.library.common.shuffle.orderedgrouped.Shuffle;
 import org.apache.tez.runtime.library.common.sort.impl.TezRawKeyValueIterator;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 
 /**
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/input/UnorderedKVInput.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/input/UnorderedKVInput.java
index 6ba8936..401066d 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/input/UnorderedKVInput.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/input/UnorderedKVInput.java
@@ -54,7 +54,7 @@ import org.apache.tez.runtime.library.common.shuffle.impl.ShuffleInputEventHandl
 import org.apache.tez.runtime.library.common.shuffle.impl.ShuffleManager;
 import org.apache.tez.runtime.library.common.shuffle.impl.SimpleFetchedInputAllocator;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * {@link UnorderedKVInput} provides unordered key value input by
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/output/OrderedPartitionedKVOutput.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/output/OrderedPartitionedKVOutput.java
index 7d3e0b4..441f1c2 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/output/OrderedPartitionedKVOutput.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/output/OrderedPartitionedKVOutput.java
@@ -53,7 +53,7 @@ import org.apache.tez.runtime.library.common.sort.impl.TezSpillRecord;
 import org.apache.tez.runtime.library.common.sort.impl.dflt.DefaultSorter;
 import org.apache.tez.runtime.library.common.shuffle.ShuffleUtils;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * {@link OrderedPartitionedKVOutput} is an {@link AbstractLogicalOutput} which sorts
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/output/UnorderedPartitionedKVOutput.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/output/UnorderedPartitionedKVOutput.java
index 94312f7..78681db 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/output/UnorderedPartitionedKVOutput.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/output/UnorderedPartitionedKVOutput.java
@@ -25,7 +25,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 import org.apache.tez.runtime.library.common.shuffle.ShuffleUtils;
 import org.slf4j.Logger;
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/resources/WeightedScalingMemoryDistributor.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/resources/WeightedScalingMemoryDistributor.java
index c5b4fb0..b82e6d3 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/resources/WeightedScalingMemoryDistributor.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/resources/WeightedScalingMemoryDistributor.java
@@ -41,7 +41,7 @@ import org.apache.tez.runtime.library.output.OrderedPartitionedKVOutput;
 import org.apache.tez.runtime.library.output.UnorderedPartitionedKVOutput;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
diff --git a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/utils/Grouper.java b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/utils/Grouper.java
index b99f3d4..84900f8 100644
--- a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/utils/Grouper.java
+++ b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/utils/Grouper.java
@@ -17,7 +17,7 @@
  */
 package org.apache.tez.runtime.library.utils;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * This grouper group specified number of items into specified number of groups.
diff --git a/tez-runtime-library/src/test/java/org/apache/tez/runtime/library/common/sort/impl/TestTezMerger.java b/tez-runtime-library/src/test/java/org/apache/tez/runtime/library/common/sort/impl/TestTezMerger.java
index b35c85f..af10700 100644
--- a/tez-runtime-library/src/test/java/org/apache/tez/runtime/library/common/sort/impl/TestTezMerger.java
+++ b/tez-runtime-library/src/test/java/org/apache/tez/runtime/library/common/sort/impl/TestTezMerger.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.runtime.library.common.sort.impl;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.LinkedListMultimap;
 import com.google.common.collect.ListMultimap;
 import com.google.common.collect.Lists;
diff --git a/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/BroadcastAndOneToOneExample.java b/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/BroadcastAndOneToOneExample.java
index 9dd9b59..5c99f3e 100644
--- a/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/BroadcastAndOneToOneExample.java
+++ b/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/BroadcastAndOneToOneExample.java
@@ -54,7 +54,7 @@ import org.apache.tez.runtime.library.conf.UnorderedKVEdgeConfig;
 import org.apache.tez.runtime.library.output.UnorderedKVOutput;
 import org.apache.tez.runtime.library.processor.SimpleProcessor;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 public class BroadcastAndOneToOneExample extends Configured implements Tool {
   public static class InputProcessor extends SimpleProcessor {
diff --git a/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/BroadcastLoadGen.java b/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/BroadcastLoadGen.java
index d9b89c1..03bb051 100644
--- a/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/BroadcastLoadGen.java
+++ b/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/BroadcastLoadGen.java
@@ -45,7 +45,7 @@ import org.apache.tez.runtime.library.conf.UnorderedKVEdgeConfig;
 import org.apache.tez.runtime.library.output.UnorderedKVOutput;
 import org.apache.tez.runtime.library.processor.SimpleProcessor;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 public class BroadcastLoadGen extends TezExampleBase {
 
diff --git a/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/CartesianProduct.java b/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/CartesianProduct.java
index 6096f96..aea662a 100644
--- a/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/CartesianProduct.java
+++ b/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/CartesianProduct.java
@@ -17,7 +17,7 @@
  */
 package org.apache.tez.mapreduce.examples;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.IntWritable;
 import org.apache.hadoop.io.Text;
diff --git a/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/UnionExample.java b/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/UnionExample.java
index 7688335..b835f6b 100644
--- a/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/UnionExample.java
+++ b/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/UnionExample.java
@@ -64,7 +64,7 @@ import org.apache.tez.runtime.library.conf.OrderedPartitionedKVEdgeConfig;
 import org.apache.tez.runtime.library.input.ConcatenatedMergedKeyValuesInput;
 import org.apache.tez.runtime.library.partitioner.HashPartitioner;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Maps;
 
 public class UnionExample {
diff --git a/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/helpers/SplitsInClientOptionParser.java b/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/helpers/SplitsInClientOptionParser.java
index cabc3c4..227e498 100644
--- a/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/helpers/SplitsInClientOptionParser.java
+++ b/tez-tests/src/main/java/org/apache/tez/mapreduce/examples/helpers/SplitsInClientOptionParser.java
@@ -26,7 +26,7 @@ import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 import org.apache.commons.cli.ParseException;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 public class SplitsInClientOptionParser {
 
diff --git a/tez-tests/src/test/java/org/apache/tez/mapreduce/TestMRRJobsDAGApi.java b/tez-tests/src/test/java/org/apache/tez/mapreduce/TestMRRJobsDAGApi.java
index 5ce9c5d..a756cf9 100644
--- a/tez-tests/src/test/java/org/apache/tez/mapreduce/TestMRRJobsDAGApi.java
+++ b/tez-tests/src/test/java/org/apache/tez/mapreduce/TestMRRJobsDAGApi.java
@@ -129,7 +129,7 @@ import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Sets;
 
 public class TestMRRJobsDAGApi {
diff --git a/tez-tests/src/test/java/org/apache/tez/test/RecoveryServiceWithEventHandlingHook.java b/tez-tests/src/test/java/org/apache/tez/test/RecoveryServiceWithEventHandlingHook.java
index 50c5a66..3ed386e 100644
--- a/tez-tests/src/test/java/org/apache/tez/test/RecoveryServiceWithEventHandlingHook.java
+++ b/tez-tests/src/test/java/org/apache/tez/test/RecoveryServiceWithEventHandlingHook.java
@@ -50,7 +50,7 @@ import org.apache.tez.test.RecoveryServiceWithEventHandlingHook.SimpleShutdownCo
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 
 /**
  * Add hook before/after processing RecoveryEvent & SummaryEvent
diff --git a/tez-tests/src/test/java/org/apache/tez/test/TestPipelinedShuffle.java b/tez-tests/src/test/java/org/apache/tez/test/TestPipelinedShuffle.java
index 36ac488..e44b6eb 100644
--- a/tez-tests/src/test/java/org/apache/tez/test/TestPipelinedShuffle.java
+++ b/tez-tests/src/test/java/org/apache/tez/test/TestPipelinedShuffle.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.test;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Sets;
 import org.apache.commons.lang.RandomStringUtils;
 import org.apache.hadoop.conf.Configuration;
diff --git a/tez-tests/src/test/java/org/apache/tez/test/TestTezJobs.java b/tez-tests/src/test/java/org/apache/tez/test/TestTezJobs.java
index 2dfc76d..f504493 100644
--- a/tez-tests/src/test/java/org/apache/tez/test/TestTezJobs.java
+++ b/tez-tests/src/test/java/org/apache/tez/test/TestTezJobs.java
@@ -40,7 +40,7 @@ import java.util.Set;
 import java.util.concurrent.locks.Condition;
 import java.util.concurrent.locks.ReentrantLock;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 
 import org.apache.hadoop.io.IntWritable;
diff --git a/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/CSVResult.java b/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/CSVResult.java
index 5246c68..1da281c 100644
--- a/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/CSVResult.java
+++ b/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/CSVResult.java
@@ -19,7 +19,7 @@
 package org.apache.tez.analyzer;
 
 import com.google.common.base.Joiner;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.base.Strings;
 import com.google.common.collect.Iterators;
 import com.google.common.collect.Lists;
diff --git a/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/plugins/CriticalPathAnalyzer.java b/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/plugins/CriticalPathAnalyzer.java
index 2edce3e..5944870 100644
--- a/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/plugins/CriticalPathAnalyzer.java
+++ b/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/plugins/CriticalPathAnalyzer.java
@@ -43,7 +43,7 @@ import org.apache.tez.history.parser.datamodel.TaskAttemptInfo.DataDependencyEve
 import org.apache.tez.history.parser.datamodel.TaskInfo;
 
 import com.google.common.base.Joiner;
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.base.Strings;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
diff --git a/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/plugins/SkewAnalyzer.java b/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/plugins/SkewAnalyzer.java
index 067d871..6025541 100644
--- a/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/plugins/SkewAnalyzer.java
+++ b/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/plugins/SkewAnalyzer.java
@@ -18,7 +18,7 @@
 
 package org.apache.tez.analyzer.plugins;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import com.google.common.collect.Lists;
 
 import org.apache.hadoop.conf.Configuration;
diff --git a/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/plugins/TezAnalyzerBase.java b/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/plugins/TezAnalyzerBase.java
index 1549de9..59ae4a3 100644
--- a/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/plugins/TezAnalyzerBase.java
+++ b/tez-tools/analyzers/job-analyzer/src/main/java/org/apache/tez/analyzer/plugins/TezAnalyzerBase.java
@@ -39,7 +39,7 @@ import org.apache.tez.history.parser.ATSFileParser;
 import org.apache.tez.history.parser.SimpleHistoryParser;
 import org.apache.tez.history.parser.datamodel.DagInfo;
 
-import com.google.common.base.Preconditions;
+import org.apache.tez.common.Preconditions;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;