You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2020/04/15 00:14:55 UTC

[hive] branch master updated: HIVE-21603 : Java 11 preparation: update powermock version (Panos G via Ashutosh Chauhan)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 2c69162  HIVE-21603 : Java 11 preparation: update powermock version (Panos G via Ashutosh Chauhan)
2c69162 is described below

commit 2c691627de8b5d0cb49c76bd95efcb73efa1dad3
Author: Panagiotis Garefalakis <pa...@cloudera.com>
AuthorDate: Tue Apr 14 16:48:14 2020 -0700

    HIVE-21603 : Java 11 preparation: update powermock version (Panos G via Ashutosh Chauhan)
    
    Signed-off-by: Ashutosh Chauhan <ha...@apache.org>
---
 beeline/pom.xml                                    |  4 +-
 .../org/apache/hive/beeline/TestBufferedRows.java  |  4 +-
 .../apache/hive/beeline/TestTableOutputFormat.java |  5 +-
 .../beeline/schematool/TestHiveSchemaTool.java     |  6 +-
 .../hadoop/hive/cli/TestCliDriverMethods.java      |  6 +-
 .../apache/hadoop/hive/common/TestFileUtils.java   |  2 +-
 .../hadoop/hive/druid/serde/TestDruidSerDe.java    |  4 +-
 .../streaming/mutate/client/TestMutatorClient.java |  4 +-
 .../streaming/mutate/client/TestTransaction.java   |  2 +-
 .../mutate/client/lock/TestHeartbeatTimerTask.java |  2 +-
 .../streaming/mutate/client/lock/TestLock.java     | 27 ++++---
 .../worker/TestMetaStorePartitionHelper.java       |  8 +-
 .../mutate/worker/TestMutatorCoordinator.java      | 19 ++---
 .../streaming/mutate/worker/TestMutatorImpl.java   |  6 +-
 .../templeton/ConcurrentJobRequestsTestBase.java   | 33 ++++----
 .../TestConcurrentJobRequestsThreads.java          |  3 -
 ...TestConcurrentJobRequestsThreadsAndTimeout.java |  1 -
 .../plugin/TestHiveAuthorizerCheckInvocation.java  |  2 +-
 .../plugin/TestHiveAuthorizerShowFilters.java      |  9 ++-
 .../jdbc/authorization/TestHS2AuthzContext.java    | 34 ++++----
 .../service/cli/session/TestHiveSessionImpl.java   |  4 +-
 .../thrift/TestThriftHttpCLIServiceFeatures.java   |  3 +-
 jdbc-handler/pom.xml                               |  2 +-
 .../hive/storage/jdbc/TestJdbcInputFormat.java     |  4 +-
 .../hive/jdbc/TestHivePreparedStatement.java       |  2 +-
 llap-client/pom.xml                                |  2 +-
 .../llap/cache/TestLowLevelLrfuCachePolicy.java    |  2 +-
 .../daemon/impl/comparator/TestAMReporter.java     |  4 +-
 .../io/encoded/TestVectorDeserializeOrcWriter.java | 49 +++++++++---
 .../llap/tezplugins/TestLlapTaskCommunicator.java  |  5 +-
 .../tezplugins/TestLlapTaskSchedulerService.java   |  4 +-
 .../TestBlacklistingLlapMetricsListener.java       | 15 ++--
 .../metrics/TestLlapMetricsCollector.java          |  7 +-
 pom.xml                                            |  4 +-
 ql/pom.xml                                         |  4 +-
 .../org/apache/hadoop/hive/ql/TestCompileLock.java |  2 +-
 .../hadoop/hive/ql/exec/TestGetInputSummary.java   |  2 +-
 .../ql/exec/TestMsckCreatePartitionsInBatches.java | 92 +++++++++++-----------
 .../ql/exec/TestMsckDropPartitionsInBatches.java   | 53 +++++++------
 .../apache/hadoop/hive/ql/exec/TestUtilities.java  |  3 +-
 .../hadoop/hive/ql/exec/repl/TestReplDumpTask.java |  6 +-
 .../repl/bootstrap/AddDependencyToLeavesTest.java  |  2 +-
 .../hadoop/hive/ql/exec/spark/TestSparkTask.java   |  2 +-
 .../hive/ql/exec/spark/TestSparkUtilities.java     |  8 +-
 .../hadoop/hive/ql/exec/tez/TestTezTask.java       | 56 +++++++------
 .../apache/hadoop/hive/ql/exec/tez/TestUtils.java  |  2 +-
 .../hive/ql/exec/tez/TestWorkloadManager.java      |  2 +-
 .../tez/monitoring/TestTezProgressMonitor.java     | 19 ++---
 .../hadoop/hive/ql/exec/util/DAGTraversalTest.java |  2 +-
 .../hadoop/hive/ql/hooks/TestQueryHooks.java       | 14 ++--
 .../hadoop/hive/ql/io/TestAcidInputFormat.java     |  2 +-
 .../ql/io/TestHiveBinarySearchRecordReader.java    |  3 +-
 .../hive/ql/io/orc/TestOrcRawRecordMerger.java     | 57 +++++++-------
 .../hive/ql/lockmgr/TestDummyTxnManager.java       |  4 +-
 .../rules/TestHivePointLookupOptimizerRule.java    | 17 ++--
 .../TestHiveReduceExpressionsWithStatsRule.java    |  2 +-
 .../ql/optimizer/signature/TestRelSignature.java   | 11 +--
 .../hadoop/hive/ql/parse/repl/TestCopyUtils.java   |  8 +-
 .../hive/ql/parse/repl/dump/TestHiveWrapper.java   |  2 +-
 .../TestPrimaryToReplicaResourceFunction.java      |  6 +-
 .../TestHivePrivilegeObjectOwnerNameAndType.java   |  2 +-
 .../ql/udf/generic/TestGenericUDAFEvaluator.java   |  2 +-
 .../ql/udf/generic/TestGenericUDFExtractUnion.java |  2 +-
 .../hadoop/hive/ql/udf/ptf/TestBoundaryCache.java  | 16 ++--
 service/pom.xml                                    |  2 +-
 .../auth/TestLdapAuthenticationProviderImpl.java   |  9 +--
 .../hive/service/auth/ldap/TestChainFilter.java    |  2 +-
 .../service/auth/ldap/TestCustomQueryFilter.java   |  2 +-
 .../hive/service/auth/ldap/TestGroupFilter.java    |  8 +-
 .../hive/service/auth/ldap/TestLdapSearch.java     |  2 +-
 .../service/auth/ldap/TestSearchResultHandler.java |  2 +-
 .../hive/service/auth/ldap/TestUserFilter.java     |  2 +-
 .../service/auth/ldap/TestUserSearchFilter.java    |  2 +-
 .../service/cli/thrift/ThriftHttpServletTest.java  |  2 +-
 .../org/apache/hadoop/fs/TestProxyFileSystem.java  |  2 +-
 .../org/apache/hadoop/hive/io/TestHdfsUtils.java   |  8 +-
 .../apache/hive/spark/client/TestJobHandle.java    |  2 +-
 ...estMetaStoreLdapAuthenticationProviderImpl.java | 22 ++++--
 .../hive/metastore/TestMsckCheckPartitions.java    |  2 +-
 .../hadoop/hive/metastore/TestTableIterable.java   |  4 +-
 .../hive/metastore/ldap/TestChainFilter.java       |  2 +-
 .../hive/metastore/ldap/TestCustomQueryFilter.java |  2 +-
 .../hive/metastore/ldap/TestGroupFilter.java       |  8 +-
 .../hadoop/hive/metastore/ldap/TestLdapSearch.java |  2 +-
 .../metastore/ldap/TestSearchResultHandler.java    |  2 +-
 .../hadoop/hive/metastore/ldap/TestUserFilter.java |  2 +-
 .../hive/metastore/ldap/TestUserSearchFilter.java  |  2 +-
 .../metatool/TestMetaToolTaskUpdateLocation.java   |  2 +-
 .../tools/schematool/TestSchemaToolTaskDrop.java   |  6 +-
 .../hadoop/hive/metastore/utils/TestHdfsUtils.java |  8 +-
 standalone-metastore/pom.xml                       |  2 +-
 .../context/TestCloudExecutionContextProvider.java |  2 +-
 92 files changed, 433 insertions(+), 371 deletions(-)

diff --git a/beeline/pom.xml b/beeline/pom.xml
index 4e5ad07..a5a1e42 100644
--- a/beeline/pom.xml
+++ b/beeline/pom.xml
@@ -29,7 +29,7 @@
 
   <properties>
     <hive.path.to.root>..</hive.path.to.root>
-    <powermock.version>1.6.6</powermock.version>
+    <powermock.version>2.0.2</powermock.version>
   </properties>
 
   <dependencies>
@@ -127,7 +127,7 @@
     </dependency>
     <dependency>
       <groupId>org.powermock</groupId>
-      <artifactId>powermock-api-mockito</artifactId>
+      <artifactId>powermock-api-mockito2</artifactId>
       <version>${powermock.version}</version>
       <scope>test</scope>
     </dependency>
diff --git a/beeline/src/test/org/apache/hive/beeline/TestBufferedRows.java b/beeline/src/test/org/apache/hive/beeline/TestBufferedRows.java
index 9478ec5..1add3c0 100644
--- a/beeline/src/test/org/apache/hive/beeline/TestBufferedRows.java
+++ b/beeline/src/test/org/apache/hive/beeline/TestBufferedRows.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hive.beeline;
 
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
@@ -26,7 +27,6 @@ import java.sql.SQLException;
 
 import org.junit.Assert;
 import org.junit.Test;
-import org.mockito.Matchers;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
@@ -99,7 +99,7 @@ public class TestBufferedRows {
       }
     });
 
-    when(mockResultSet.getObject(Matchers.anyInt())).thenAnswer(new Answer<String>() {
+    when(mockResultSet.getObject(anyInt())).thenAnswer(new Answer<String>() {
       @Override
       public String answer(InvocationOnMock invocation) {
         Object[] args = invocation.getArguments();
diff --git a/beeline/src/test/org/apache/hive/beeline/TestTableOutputFormat.java b/beeline/src/test/org/apache/hive/beeline/TestTableOutputFormat.java
index 0f557e8..5b84070 100644
--- a/beeline/src/test/org/apache/hive/beeline/TestTableOutputFormat.java
+++ b/beeline/src/test/org/apache/hive/beeline/TestTableOutputFormat.java
@@ -15,13 +15,14 @@
  */
 package org.apache.hive.beeline;
 
+import static org.mockito.ArgumentMatchers.anyInt;
+
 import java.io.PrintStream;
 import java.sql.ResultSet;
 import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import static org.junit.Assert.assertEquals;
 import org.junit.Test;
-import org.mockito.Matchers;
 import static org.mockito.Mockito.when;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
@@ -96,7 +97,7 @@ public class TestTableOutputFormat {
       }
     });
 
-    when(mockResultSet.getObject(Matchers.anyInt())).thenAnswer(new Answer<String>() {
+    when(mockResultSet.getObject(anyInt())).thenAnswer(new Answer<String>() {
       @Override
       public String answer(final InvocationOnMock invocation) {
         Object[] args = invocation.getArguments();
diff --git a/beeline/src/test/org/apache/hive/beeline/schematool/TestHiveSchemaTool.java b/beeline/src/test/org/apache/hive/beeline/schematool/TestHiveSchemaTool.java
index 2311b04..52b2aca 100644
--- a/beeline/src/test/org/apache/hive/beeline/schematool/TestHiveSchemaTool.java
+++ b/beeline/src/test/org/apache/hive/beeline/schematool/TestHiveSchemaTool.java
@@ -35,11 +35,10 @@ import java.util.Arrays;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Matchers.same;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.same;
 import static org.mockito.Mockito.when;
 import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.verifyStatic;
 
 @RunWith(PowerMockRunner.class)
 @PowerMockIgnore("javax.management.*")
@@ -71,7 +70,6 @@ public class TestHiveSchemaTool {
 
   @After
   public void globalAssert() throws IOException {
-    verifyStatic();
     HiveSchemaHelper.getValidConfVar(eq(MetastoreConf.ConfVars.CONNECT_URL_KEY), same(hiveConf));
     HiveSchemaHelper
         .getValidConfVar(eq(MetastoreConf.ConfVars.CONNECTION_DRIVER), same(hiveConf));
diff --git a/cli/src/test/org/apache/hadoop/hive/cli/TestCliDriverMethods.java b/cli/src/test/org/apache/hadoop/hive/cli/TestCliDriverMethods.java
index 42e3bc5..5f21900 100644
--- a/cli/src/test/org/apache/hadoop/hive/cli/TestCliDriverMethods.java
+++ b/cli/src/test/org/apache/hadoop/hive/cli/TestCliDriverMethods.java
@@ -18,9 +18,9 @@
 package org.apache.hadoop.hive.cli;
 
 
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
diff --git a/common/src/test/org/apache/hadoop/hive/common/TestFileUtils.java b/common/src/test/org/apache/hadoop/hive/common/TestFileUtils.java
index 9b5748e..15e74db 100644
--- a/common/src/test/org/apache/hadoop/hive/common/TestFileUtils.java
+++ b/common/src/test/org/apache/hadoop/hive/common/TestFileUtils.java
@@ -22,7 +22,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
diff --git a/druid-handler/src/test/org/apache/hadoop/hive/druid/serde/TestDruidSerDe.java b/druid-handler/src/test/org/apache/hadoop/hive/druid/serde/TestDruidSerDe.java
index 7457697..edfcc65 100644
--- a/druid-handler/src/test/org/apache/hadoop/hive/druid/serde/TestDruidSerDe.java
+++ b/druid-handler/src/test/org/apache/hadoop/hive/druid/serde/TestDruidSerDe.java
@@ -18,8 +18,8 @@
 package org.apache.hadoop.hive.druid.serde;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyObject;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyObject;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
diff --git a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/TestMutatorClient.java b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/TestMutatorClient.java
index 91b90ed..4222786 100644
--- a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/TestMutatorClient.java
+++ b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/TestMutatorClient.java
@@ -20,7 +20,7 @@ package org.apache.hive.hcatalog.streaming.mutate.client;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
-import static org.mockito.Matchers.anyString;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -42,7 +42,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class TestMutatorClient {
diff --git a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/TestTransaction.java b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/TestTransaction.java
index c47cf4d..4d30c25 100644
--- a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/TestTransaction.java
+++ b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/TestTransaction.java
@@ -31,7 +31,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class TestTransaction {
diff --git a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/lock/TestHeartbeatTimerTask.java b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/lock/TestHeartbeatTimerTask.java
index 1edec69..33e29cf 100644
--- a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/lock/TestHeartbeatTimerTask.java
+++ b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/lock/TestHeartbeatTimerTask.java
@@ -33,7 +33,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class TestHeartbeatTimerTask {
diff --git a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/lock/TestLock.java b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/lock/TestLock.java
index 0a46faf..156a37e 100644
--- a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/lock/TestLock.java
+++ b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/client/lock/TestLock.java
@@ -24,18 +24,18 @@ import static org.apache.hadoop.hive.metastore.api.LockState.WAITING;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyCollection;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
 
 import java.net.InetAddress;
-import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Set;
@@ -60,7 +60,7 @@ import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import com.google.common.collect.ImmutableSet;
 
@@ -99,9 +99,10 @@ public class TestLock {
     when(mockMetaStoreClient.lock(any(LockRequest.class))).thenReturn(mockLockResponse);
     when(mockLockResponse.getLockid()).thenReturn(LOCK_ID);
     when(mockLockResponse.getState()).thenReturn(ACQUIRED);
-    when(
-        mockHeartbeatFactory.newInstance(any(IMetaStoreClient.class), any(LockFailureListener.class), any(Long.class),
-            any(Collection.class), anyLong(), anyInt())).thenReturn(mockHeartbeat);
+    //  Transaction IDs can also be null
+    when(mockHeartbeatFactory.newInstance(
+        any(IMetaStoreClient.class), any(LockFailureListener.class), any(), anyCollection(),  any(Long.class), anyInt())
+    ).thenReturn(mockHeartbeat);
 
     readLock = new Lock(mockMetaStoreClient, mockHeartbeatFactory, configuration, mockListener, USER, SOURCES,
         Collections.<Table> emptySet(), 3, 0);
@@ -138,7 +139,7 @@ public class TestLock {
     configuration.set("hive.txn.timeout", "100s");
     readLock.acquire();
 
-    verify(mockHeartbeatFactory).newInstance(eq(mockMetaStoreClient), eq(mockListener), any(Long.class), eq(SOURCES),
+    verify(mockHeartbeatFactory).newInstance(eq(mockMetaStoreClient), eq(mockListener), any(), eq(SOURCES),
         eq(LOCK_ID), eq(75));
   }
 
@@ -321,11 +322,11 @@ public class TestLock {
   @Test
   public void testHeartbeatContinuesTException() throws Exception {
     Throwable t = new TException();
-    doThrow(t).when(mockMetaStoreClient).heartbeat(0, LOCK_ID);
+    lenient().doThrow(t).when(mockMetaStoreClient).heartbeat(0, LOCK_ID);
     HeartbeatTimerTask task = new HeartbeatTimerTask(mockMetaStoreClient, mockListener, TRANSACTION_ID, SOURCES,
         LOCK_ID);
     task.run();
-    verifyZeroInteractions(mockListener);
+    verifyNoInteractions(mockListener);
   }
 
   private static Table createTable(String databaseName, String tableName) {
diff --git a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/worker/TestMetaStorePartitionHelper.java b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/worker/TestMetaStorePartitionHelper.java
index 335ecd2..4a7d358 100644
--- a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/worker/TestMetaStorePartitionHelper.java
+++ b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/worker/TestMetaStorePartitionHelper.java
@@ -20,7 +20,7 @@ package org.apache.hive.hcatalog.streaming.mutate.worker;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
 
 import java.io.IOException;
@@ -40,7 +40,7 @@ import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class TestMetaStorePartitionHelper {
@@ -95,7 +95,7 @@ public class TestMetaStorePartitionHelper {
   public void getPathForUnpartitionedTable() throws Exception {
     Path path = helper.getPathForPartition(UNPARTITIONED_VALUES);
     assertThat(path, is(TABLE_PATH));
-    verifyZeroInteractions(mockClient);
+    verifyNoInteractions(mockClient);
   }
 
   @Test
@@ -107,7 +107,7 @@ public class TestMetaStorePartitionHelper {
   @Test
   public void createOnUnpartitionTableDoesNothing() throws Exception {
     helper.createPartitionIfNotExists(UNPARTITIONED_VALUES);
-    verifyZeroInteractions(mockClient);
+    verifyNoInteractions(mockClient);
   }
 
   @Test
diff --git a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/worker/TestMutatorCoordinator.java b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/worker/TestMutatorCoordinator.java
index fab56b3..297e67c 100644
--- a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/worker/TestMutatorCoordinator.java
+++ b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/worker/TestMutatorCoordinator.java
@@ -17,15 +17,16 @@
  */
 package org.apache.hive.hcatalog.streaming.mutate.worker;
 
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyList;
-import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyList;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.lenient;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
 import java.util.Arrays;
@@ -41,7 +42,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class TestMutatorCoordinator {
@@ -92,7 +93,7 @@ public class TestMutatorCoordinator {
         mockMutator);
     when(mockPartitionHelper.getPathForPartition(any(List.class))).thenReturn(PATH_A);
     when(mockRecordInspector.extractRecordIdentifier(RECORD)).thenReturn(ROW__ID_INSERT);
-    when(mockSequenceValidator.isInSequence(any(RecordIdentifier.class))).thenReturn(true);
+    lenient().when(mockSequenceValidator.isInSequence(any(RecordIdentifier.class))).thenReturn(true);
     when(mockGroupingValidator.isInSequence(any(List.class), anyInt())).thenReturn(true);
 
     coordinator = new MutatorCoordinator(configuration, mockMutatorFactory, mockPartitionHelper, mockGroupingValidator,
@@ -247,7 +248,7 @@ public class TestMutatorCoordinator {
     coordinator.close();
 
     // No mutator created
-    verifyZeroInteractions(mockMutator);
+    verifyNoMoreInteractions(mockMutator);
   }
 
   @Test
diff --git a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/worker/TestMutatorImpl.java b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/worker/TestMutatorImpl.java
index d2c89e5..5219532 100644
--- a/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/worker/TestMutatorImpl.java
+++ b/hcatalog/streaming/src/test/org/apache/hive/hcatalog/streaming/mutate/worker/TestMutatorImpl.java
@@ -19,8 +19,8 @@ package org.apache.hive.hcatalog.streaming.mutate.worker;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -40,7 +40,7 @@ import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Captor;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class TestMutatorImpl {
diff --git a/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/ConcurrentJobRequestsTestBase.java b/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/ConcurrentJobRequestsTestBase.java
index 05beccb..45ad767 100644
--- a/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/ConcurrentJobRequestsTestBase.java
+++ b/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/ConcurrentJobRequestsTestBase.java
@@ -21,7 +21,6 @@ package org.apache.hive.hcatalog.templeton;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
@@ -37,6 +36,11 @@ import org.slf4j.LoggerFactory;
 import org.mockito.Mockito;
 import org.mockito.stubbing.Answer;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+
 /*
  * Base class for mocking job operations with concurrent requests.
  */
@@ -88,8 +92,8 @@ public class ConcurrentJobRequestsTestBase {
     StatusDelegator delegator = new StatusDelegator(appConfig);
     final StatusDelegator mockDelegator = Mockito.spy(delegator);
 
-    Mockito.doAnswer(answer).when(mockDelegator).getJobStatus(Mockito.any(String.class),
-                             Mockito.any(String.class));
+    doAnswer(answer).when(mockDelegator).getJobStatus(any(String.class),
+                             any(String.class));
 
     JobRunnable statusJobRunnable = new JobRunnable() {
       @Override
@@ -116,9 +120,9 @@ public class ConcurrentJobRequestsTestBase {
     ListDelegator delegator = new ListDelegator(config);
     final ListDelegator mockDelegator = Mockito.spy(delegator);
 
-    Mockito.doAnswer(answer).when(mockDelegator).listJobs(Mockito.any(String.class),
-                             Mockito.any(boolean.class), Mockito.any(String.class),
-                             Mockito.any(int.class), Mockito.any(boolean.class));
+    doAnswer(answer).when(mockDelegator).listJobs(any(String.class),
+                             any(boolean.class), any(String.class),
+                             any(int.class), any(boolean.class));
 
     JobRunnable listJobRunnable = new JobRunnable() {
       @Override
@@ -149,18 +153,19 @@ public class ConcurrentJobRequestsTestBase {
 
     TempletonControllerJob mockCtrl = Mockito.mock(TempletonControllerJob.class);
 
-    Mockito.doReturn(jobIdResponse).when(mockCtrl).getSubmittedId();
+    doReturn(jobIdResponse).when(mockCtrl).getSubmittedId();
 
-    Mockito.doReturn(mockCtrl).when(mockDelegator).getTempletonController();
+    doReturn(mockCtrl).when(mockDelegator).getTempletonController();
 
-    Mockito.doAnswer(responseAnswer).when(mockDelegator).runTempletonControllerJob(
-              Mockito.any(TempletonControllerJob.class), Mockito.any(List.class));
+    doAnswer(responseAnswer).when(mockDelegator).runTempletonControllerJob(
+              any(TempletonControllerJob.class), any(List.class));
 
-    Mockito.doAnswer(timeoutResponseAnswer).when(mockDelegator).killJob(
-              Mockito.any(String.class), Mockito.any(String.class));
+    doAnswer(timeoutResponseAnswer).when(mockDelegator).killJob(
+              any(String.class), any(String.class));
 
-    Mockito.doNothing().when(mockDelegator).registerJob(Mockito.any(String.class),
-           Mockito.any(String.class), Mockito.any(String.class), Mockito.any(Map.class));
+    // UserArgs Map can be null - thus use any()
+    doNothing().when(mockDelegator).registerJob(any(String.class),
+           any(String.class), any(String.class), any());
 
     JobRunnable submitJobRunnable = new JobRunnable() {
       @Override
diff --git a/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestConcurrentJobRequestsThreads.java b/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestConcurrentJobRequestsThreads.java
index 12a211a..4865d1f 100644
--- a/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestConcurrentJobRequestsThreads.java
+++ b/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestConcurrentJobRequestsThreads.java
@@ -18,10 +18,7 @@
  */
 package org.apache.hive.hcatalog.templeton;
 
-import java.io.IOException;
 import java.util.ArrayList;
-import java.util.concurrent.TimeoutException;
-import org.eclipse.jetty.http.HttpStatus;
 
 import org.junit.BeforeClass;
 import org.junit.Rule;
diff --git a/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestConcurrentJobRequestsThreadsAndTimeout.java b/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestConcurrentJobRequestsThreadsAndTimeout.java
index 19d87b6..d351a98 100644
--- a/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestConcurrentJobRequestsThreadsAndTimeout.java
+++ b/hcatalog/webhcat/svr/src/test/java/org/apache/hive/hcatalog/templeton/TestConcurrentJobRequestsThreadsAndTimeout.java
@@ -21,7 +21,6 @@ package org.apache.hive.hcatalog.templeton;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.concurrent.TimeoutException;
-import org.eclipse.jetty.http.HttpStatus;
 
 import org.junit.BeforeClass;
 import org.junit.Rule;
diff --git a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHiveAuthorizerCheckInvocation.java b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHiveAuthorizerCheckInvocation.java
index 37bb6ad..0db6eb7 100644
--- a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHiveAuthorizerCheckInvocation.java
+++ b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHiveAuthorizerCheckInvocation.java
@@ -23,7 +23,7 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
diff --git a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHiveAuthorizerShowFilters.java b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHiveAuthorizerShowFilters.java
index cf120ea..36ac85b 100644
--- a/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHiveAuthorizerShowFilters.java
+++ b/itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHiveAuthorizerShowFilters.java
@@ -19,7 +19,7 @@
 package org.apache.hadoop.hive.ql.security.authorization.plugin;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -71,8 +71,11 @@ public class TestHiveAuthorizerShowFilters {
    * HiveAuthorizer.filterListCmdObjects, and stores the list argument in
    * filterArguments
    */
-  protected static class MockedHiveAuthorizerFactory implements HiveAuthorizerFactory {
-    protected abstract class AuthorizerWithFilterCmdImpl implements HiveAuthorizer {
+  public static class MockedHiveAuthorizerFactory implements HiveAuthorizerFactory {
+    /**
+     * Abstracts HiveAuthorizer interface for hive authorization plugins
+     */
+    public abstract class AuthorizerWithFilterCmdImpl implements HiveAuthorizer {
       @Override
       public List<HivePrivilegeObject> filterListCmdObjects(List<HivePrivilegeObject> listObjs,
           HiveAuthzContext context) throws HiveAuthzPluginException, HiveAccessControlException {
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/authorization/TestHS2AuthzContext.java b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/authorization/TestHS2AuthzContext.java
index 4b1a101..977fe43 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/authorization/TestHS2AuthzContext.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/authorization/TestHS2AuthzContext.java
@@ -18,37 +18,33 @@
 
 package org.apache.hive.jdbc.authorization;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Mockito.verify;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.HashMap;
-
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.ql.security.HiveAuthenticationProvider;
 import org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator;
-import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAccessControlException;
 import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthorizer;
 import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthorizerFactory;
-import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzPluginException;
+import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzContext;
 import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzSessionContext;
 import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveMetastoreClientFactory;
 import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveOperationType;
-import org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObject;
-import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzContext;
 import org.apache.hive.jdbc.miniHS2.MiniHS2;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
-import org.mockito.Matchers;
 import org.mockito.Mockito;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.Statement;
+import java.util.HashMap;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyList;
+import static org.mockito.Mockito.verify;
 /**
  * Test context information that gets passed to authorization api
  */
@@ -103,8 +99,7 @@ public class TestHS2AuthzContext {
     verifyContextContents("dfs -ls /", "-ls /");
   }
 
-  private void verifyContextContents(final String cmd, String ctxCmd) throws Exception,
-      HiveAuthzPluginException, HiveAccessControlException {
+  private void verifyContextContents(final String cmd, String ctxCmd) throws Exception {
     Connection hs2Conn = getConnection("user1");
     Statement stmt = hs2Conn.createStatement();
 
@@ -116,8 +111,7 @@ public class TestHS2AuthzContext {
         .forClass(HiveAuthzContext.class);
 
     verify(mockedAuthorizer).checkPrivileges(any(HiveOperationType.class),
-        Matchers.anyListOf(HivePrivilegeObject.class),
-        Matchers.anyListOf(HivePrivilegeObject.class), contextCapturer.capture());
+        anyList(), any(), contextCapturer.capture());
 
     HiveAuthzContext context = contextCapturer.getValue();
 
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/service/cli/session/TestHiveSessionImpl.java b/itests/hive-unit/src/test/java/org/apache/hive/service/cli/session/TestHiveSessionImpl.java
index 1ee3a50..a5784d4 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/service/cli/session/TestHiveSessionImpl.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/service/cli/session/TestHiveSessionImpl.java
@@ -18,6 +18,9 @@
 
 package org.apache.hive.service.cli.session;
 
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.same;
+
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hive.service.cli.HiveSQLException;
 import org.apache.hive.service.cli.OperationHandle;
@@ -27,7 +30,6 @@ import org.apache.hive.service.rpc.thrift.TProtocolVersion;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.Mockito;
-import static org.mockito.Matchers.*;
 
 import java.util.Arrays;
 import java.util.HashMap;
diff --git a/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIServiceFeatures.java b/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIServiceFeatures.java
index 9012867..c073ace 100644
--- a/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIServiceFeatures.java
+++ b/itests/hive-unit/src/test/java/org/apache/hive/service/cli/thrift/TestThriftHttpCLIServiceFeatures.java
@@ -20,7 +20,7 @@ package org.apache.hive.service.cli.thrift;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.verify;
 
 import java.io.IOException;
@@ -45,7 +45,6 @@ import org.apache.hadoop.hive.ql.security.authorization.plugin.HivePrivilegeObje
 import org.apache.hadoop.hive.ql.security.authorization.plugin.HiveAuthzContext;
 import org.apache.hive.jdbc.HttpBasicAuthInterceptor;
 import org.apache.hive.service.auth.HiveAuthConstants;
-import org.apache.hive.service.auth.HiveAuthConstants.AuthTypes;
 import org.apache.hive.service.rpc.thrift.TCLIService;
 import org.apache.hive.service.rpc.thrift.TExecuteStatementReq;
 import org.apache.hive.service.rpc.thrift.TOpenSessionReq;
diff --git a/jdbc-handler/pom.xml b/jdbc-handler/pom.xml
index 268f38e..b2d9ec8 100644
--- a/jdbc-handler/pom.xml
+++ b/jdbc-handler/pom.xml
@@ -115,7 +115,7 @@
 
    <dependency>
       <groupId>org.powermock</groupId>
-      <artifactId>powermock-api-mockito</artifactId>
+      <artifactId>powermock-api-mockito2</artifactId>
       <version>${powermock.version}</version>
       <scope>test</scope>
    </dependency>
diff --git a/jdbc-handler/src/test/java/org/apache/hive/storage/jdbc/TestJdbcInputFormat.java b/jdbc-handler/src/test/java/org/apache/hive/storage/jdbc/TestJdbcInputFormat.java
index cde97d6..0710217 100644
--- a/jdbc-handler/src/test/java/org/apache/hive/storage/jdbc/TestJdbcInputFormat.java
+++ b/jdbc-handler/src/test/java/org/apache/hive/storage/jdbc/TestJdbcInputFormat.java
@@ -39,8 +39,8 @@ import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.Mockito.when;
 
 @RunWith(PowerMockRunner.class)
diff --git a/jdbc/src/test/org/apache/hive/jdbc/TestHivePreparedStatement.java b/jdbc/src/test/org/apache/hive/jdbc/TestHivePreparedStatement.java
index b641395..394c89c 100644
--- a/jdbc/src/test/org/apache/hive/jdbc/TestHivePreparedStatement.java
+++ b/jdbc/src/test/org/apache/hive/jdbc/TestHivePreparedStatement.java
@@ -18,7 +18,7 @@
 package org.apache.hive.jdbc;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 import static org.mockito.Mockito.times;
diff --git a/llap-client/pom.xml b/llap-client/pom.xml
index 84e87ec..df25bf6 100644
--- a/llap-client/pom.xml
+++ b/llap-client/pom.xml
@@ -164,7 +164,7 @@
     </dependency>
     <dependency>
       <groupId>org.powermock</groupId>
-      <artifactId>powermock-api-mockito</artifactId>
+      <artifactId>powermock-api-mockito2</artifactId>
       <version>${powermock.version}</version>
       <scope>test</scope>
     </dependency>
diff --git a/llap-server/src/test/org/apache/hadoop/hive/llap/cache/TestLowLevelLrfuCachePolicy.java b/llap-server/src/test/org/apache/hadoop/hive/llap/cache/TestLowLevelLrfuCachePolicy.java
index fbe58ff..d290c48 100644
--- a/llap-server/src/test/org/apache/hadoop/hive/llap/cache/TestLowLevelLrfuCachePolicy.java
+++ b/llap-server/src/test/org/apache/hadoop/hive/llap/cache/TestLowLevelLrfuCachePolicy.java
@@ -24,7 +24,7 @@ import static org.junit.Assert.assertNotSame;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.mock;
 
diff --git a/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/comparator/TestAMReporter.java b/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/comparator/TestAMReporter.java
index 068aad4..33c5439 100644
--- a/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/comparator/TestAMReporter.java
+++ b/llap-server/src/test/org/apache/hadoop/hive/llap/daemon/impl/comparator/TestAMReporter.java
@@ -40,8 +40,8 @@ import java.util.Set;
 import java.util.concurrent.atomic.AtomicReference;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyInt;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
diff --git a/llap-server/src/test/org/apache/hadoop/hive/llap/io/encoded/TestVectorDeserializeOrcWriter.java b/llap-server/src/test/org/apache/hadoop/hive/llap/io/encoded/TestVectorDeserializeOrcWriter.java
index 647538e..7a920e6 100644
--- a/llap-server/src/test/org/apache/hadoop/hive/llap/io/encoded/TestVectorDeserializeOrcWriter.java
+++ b/llap-server/src/test/org/apache/hadoop/hive/llap/io/encoded/TestVectorDeserializeOrcWriter.java
@@ -17,6 +17,7 @@
  */
 package org.apache.hadoop.hive.llap.io.encoded;
 
+import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Queue;
 import java.util.concurrent.ConcurrentLinkedQueue;
@@ -35,11 +36,10 @@ import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.fail;
 import static org.mockito.Mockito.CALLS_REAL_METHODS;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.withSettings;
-import static org.mockito.internal.util.reflection.Whitebox.getInternalState;
-import static org.mockito.internal.util.reflection.Whitebox.setInternalState;
 
 /**
  * Unit tests for VectorDeserializeOrcWriter.
@@ -48,13 +48,43 @@ public class TestVectorDeserializeOrcWriter {
 
   private static final int TEST_NUM_COLS = 2;
 
+  private static Field reflectField(Class<?> classToReflect, String fieldNameValueToFetch) {
+    try {
+      Field reflectField = null;
+      Class<?> classForReflect = classToReflect;
+      do {
+        try {
+          reflectField = classForReflect.getDeclaredField(fieldNameValueToFetch);
+        } catch (NoSuchFieldException e) {
+          classForReflect = classForReflect.getSuperclass();
+        }
+      } while (reflectField == null || classForReflect == null);
+      reflectField.setAccessible(true);
+      return reflectField;
+    } catch (Exception e) {
+      fail("Failed to reflect " + fieldNameValueToFetch + " from " + classToReflect);
+    }
+    return null;
+  }
+
+  private static void reflectSetValue(Object objToReflect, String fieldNameToSet, Object valueToSet) {
+    try {
+      Field reflectField = reflectField(objToReflect.getClass(), fieldNameToSet);
+      reflectField.set(objToReflect, valueToSet);
+    } catch (Exception e) {
+      fail("Failed to reflectively set " + fieldNameToSet + "=" + valueToSet);
+    }
+  }
+
   @Test
   public void testConcurrencyIssueWhileWriting() throws Exception {
 
     //Setup////////////////////////////////////////////////////////////////////////////////////////
     EncodedDataConsumer consumer = createBlankEncodedDataConsumer();
+    Field cvbPoolField = EncodedDataConsumer.class.getDeclaredField("cvbPool");
+    cvbPoolField.setAccessible(true);
     FixedSizedObjectPool<ColumnVectorBatch> cvbPool = (FixedSizedObjectPool<ColumnVectorBatch>)
-            getInternalState(consumer, "cvbPool");
+        cvbPoolField.get(consumer);
 
     ColumnVectorBatch cvb = new ColumnVectorBatch(TEST_NUM_COLS);
     VectorizedRowBatch vrb = new VectorizedRowBatch(TEST_NUM_COLS);
@@ -104,12 +134,13 @@ public class TestVectorDeserializeOrcWriter {
   private static VectorDeserializeOrcWriter createOrcWriter(
           Queue<VectorDeserializeOrcWriter.WriteOperation> writeOpQueue, VectorizedRowBatch vrb) {
     VectorDeserializeOrcWriter orcWriter = mock(VectorDeserializeOrcWriter.class,
-            withSettings().defaultAnswer(CALLS_REAL_METHODS));
-    setInternalState(orcWriter, "sourceBatch", vrb);
-    setInternalState(orcWriter, "destinationBatch", vrb);
-    setInternalState(orcWriter, "currentBatches", new ArrayList<VectorizedRowBatch>());
-    setInternalState(orcWriter, "queue", writeOpQueue);
-    setInternalState(orcWriter, "isAsync", true);
+        withSettings().defaultAnswer(CALLS_REAL_METHODS));
+
+    reflectSetValue(orcWriter, "sourceBatch", vrb);
+    reflectSetValue(orcWriter, "destinationBatch", vrb);
+    reflectSetValue(orcWriter, "currentBatches", new ArrayList<VectorizedRowBatch>());
+    reflectSetValue(orcWriter, "queue", writeOpQueue);
+    reflectSetValue(orcWriter, "isAsync", true);
     return orcWriter;
   }
 
diff --git a/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/TestLlapTaskCommunicator.java b/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/TestLlapTaskCommunicator.java
index 5efe7c6..9b4ac27 100644
--- a/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/TestLlapTaskCommunicator.java
+++ b/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/TestLlapTaskCommunicator.java
@@ -17,9 +17,8 @@ package org.apache.hadoop.hive.llap.tezplugins;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
diff --git a/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/TestLlapTaskSchedulerService.java b/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/TestLlapTaskSchedulerService.java
index 4600755..7070123 100644
--- a/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/TestLlapTaskSchedulerService.java
+++ b/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/TestLlapTaskSchedulerService.java
@@ -18,8 +18,8 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
diff --git a/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/metrics/TestBlacklistingLlapMetricsListener.java b/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/metrics/TestBlacklistingLlapMetricsListener.java
index dec7586..9216c6e 100644
--- a/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/metrics/TestBlacklistingLlapMetricsListener.java
+++ b/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/metrics/TestBlacklistingLlapMetricsListener.java
@@ -40,8 +40,9 @@ import java.util.HashMap;
 import java.util.Map;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyLong;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.times;
@@ -72,6 +73,9 @@ public class TestBlacklistingLlapMetricsListener {
   @Mock
   private LlapServiceInstanceSet mockInstanceSet;
 
+  @Mock
+  private LlapServiceInstance mockLlapServiceInstance;
+
   @Before
   public void setUp() throws Exception {
     initMocks(this);
@@ -80,9 +84,10 @@ public class TestBlacklistingLlapMetricsListener {
     when(mockRegistry.getInstances()).thenReturn(mockInstanceSet);
     when(mockRegistry.lockForConfigChange(anyLong(), anyLong())).thenReturn(
         new ConfigChangeLockResult(true, Long.MIN_VALUE));
+    when(mockRegistry.getInstances().getInstance(anyString())).thenReturn(mockLlapServiceInstance);
     when(mockClientFactory.create(any(LlapServiceInstance.class))).thenReturn(mockClient);
     when(mockClient.setCapacity(
-        any(RpcController.class),
+        any(),
         any(SetCapacityRequestProto.class))).thenReturn(TEST_RESPONSE);
 
     listener = new BlacklistingLlapMetricsListener();
@@ -97,7 +102,7 @@ public class TestBlacklistingLlapMetricsListener {
     // Then
     ArgumentCaptor<String> argumentCaptor = ArgumentCaptor.forClass(String.class);
 
-    verify(mockClient, times(1)).setCapacity(any(RpcController.class), any(SetCapacityRequestProto.class));
+    verify(mockClient, times(1)).setCapacity(any(), any(SetCapacityRequestProto.class));
     verify(mockInstanceSet, times(1)).getInstance(argumentCaptor.capture());
     assertEquals("3", argumentCaptor.getValue());
   }
@@ -158,7 +163,7 @@ public class TestBlacklistingLlapMetricsListener {
     listener.newClusterMetrics(data);
 
     ArgumentCaptor<String> argumentCaptor = ArgumentCaptor.forClass(String.class);
-    verify(mockClient, times(1)).setCapacity(any(RpcController.class), any(SetCapacityRequestProto.class));
+    verify(mockClient, times(1)).setCapacity(any(), any(SetCapacityRequestProto.class));
     verify(mockInstanceSet, times(1)).getInstance(argumentCaptor.capture());
     assertEquals("3", argumentCaptor.getValue());
   }
diff --git a/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/metrics/TestLlapMetricsCollector.java b/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/metrics/TestLlapMetricsCollector.java
index f212ac6..00e72b5 100644
--- a/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/metrics/TestLlapMetricsCollector.java
+++ b/llap-tez/src/test/org/apache/hadoop/hive/llap/tezplugins/metrics/TestLlapMetricsCollector.java
@@ -15,7 +15,6 @@
 package org.apache.hadoop.hive.llap.tezplugins.metrics;
 
 import com.google.common.collect.Lists;
-import com.google.protobuf.RpcController;
 import com.google.protobuf.ServiceException;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.conf.HiveConf;
@@ -38,7 +37,7 @@ import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
@@ -82,7 +81,7 @@ public class TestLlapMetricsCollector {
           .thenReturn(MockListener.class.getName());
     when(mockClientFactory.create(any(LlapServiceInstance.class))).thenReturn(mockClient);
     when(mockClient.getDaemonMetrics(
-            any(RpcController.class),
+            any(), // can be NULL
             any(LlapDaemonProtocolProtos.GetDaemonMetricsRequestProto.class))).thenReturn(TEST_RESPONSE);
     collector = new LlapMetricsCollector(mockConf, mockExecutor, mockClientFactory);
   }
@@ -93,6 +92,8 @@ public class TestLlapMetricsCollector {
     LlapServiceInstance mockService = mock(LlapServiceInstance.class);
     when(mockService.getWorkerIdentity()).thenReturn(TEST_IDENTITY_1);
 
+    assertTrue(collector != null);
+
     // When
     collector.onCreate(mockService, TEST_SEQ_VERSION);
     collector.collectMetrics();
diff --git a/pom.xml b/pom.xml
index 13f4510..90e3970 100644
--- a/pom.xml
+++ b/pom.xml
@@ -193,8 +193,8 @@
     <mariadb.version>2.5.0</mariadb.version>
     <opencsv.version>2.3</opencsv.version>
     <orc.version>1.5.9</orc.version>
-    <mockito-core.version>1.10.19</mockito-core.version>
-    <powermock.version>1.7.4</powermock.version>
+    <mockito-core.version>3.3.3</mockito-core.version>
+    <powermock.version>2.0.2</powermock.version>
     <mina.version>2.0.0-M5</mina.version>
     <netty.version>4.1.48.Final</netty.version>
     <netty3.version>3.10.5.Final</netty3.version>
diff --git a/ql/pom.xml b/ql/pom.xml
index 3cb96e9..d1846c9 100644
--- a/ql/pom.xml
+++ b/ql/pom.xml
@@ -29,7 +29,7 @@
 
   <properties>
     <hive.path.to.root>..</hive.path.to.root>
-    <powermock.version>1.6.6</powermock.version>
+    <powermock.version>2.0.2</powermock.version>
     <reflections.version>0.9.10</reflections.version>
   </properties>
 
@@ -762,7 +762,7 @@
     </dependency>
     <dependency>
       <groupId>org.powermock</groupId>
-      <artifactId>powermock-api-mockito</artifactId>
+      <artifactId>powermock-api-mockito2</artifactId>
       <version>${powermock.version}</version>
       <scope>test</scope>
     </dependency>
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/TestCompileLock.java b/ql/src/test/org/apache/hadoop/hive/ql/TestCompileLock.java
index 5921044..7566f8e 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/TestCompileLock.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/TestCompileLock.java
@@ -57,7 +57,7 @@ import static org.hamcrest.CoreMatchers.not;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.eq;
 
 /**
  * Class for testing HS2 compile lock behavior (serializable, parallel unbounded, parallel bounded).
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/TestGetInputSummary.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/TestGetInputSummary.java
index 5f55ceb..160892c 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/TestGetInputSummary.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/TestGetInputSummary.java
@@ -19,7 +19,7 @@
 package org.apache.hadoop.hive.ql.exec;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/TestMsckCreatePartitionsInBatches.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/TestMsckCreatePartitionsInBatches.java
index 3e45016..7821f40 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/TestMsckCreatePartitionsInBatches.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/TestMsckCreatePartitionsInBatches.java
@@ -17,16 +17,6 @@
  */
 package org.apache.hadoop.hive.ql.exec;
 
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.metastore.CheckResult.PartitionResult;
@@ -54,6 +44,22 @@ import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mockito;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
 public class TestMsckCreatePartitionsInBatches {
   private static HiveConf hiveConf;
   private static Msck msck;
@@ -146,14 +152,14 @@ public class TestMsckCreatePartitionsInBatches {
   public void testNumberOfCreatePartitionCalls() throws Exception {
     // create 10 dummy partitions
     Set<PartitionResult> partsNotInMs = createPartsNotInMs(10);
-    IMetaStoreClient spyDb = Mockito.spy(db);
+    IMetaStoreClient spyDb = spy(db);
     // batch size of 5 and decaying factor of 2
     msck.createPartitionsInBatches(spyDb, repairOutput, partsNotInMs, table, 5, 2, 0);
     // there should be 2 calls to create partitions with each batch size of 5
     ArgumentCaptor<Boolean> ifNotExistsArg = ArgumentCaptor.forClass(Boolean.class);
     ArgumentCaptor<Boolean> needResultsArg = ArgumentCaptor.forClass(Boolean.class);
-    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass((Class) List.class);
-    Mockito.verify(spyDb, Mockito.times(2)).add_partitions(argParts.capture(), ifNotExistsArg.capture(), needResultsArg.capture());
+    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass(List.class);
+    verify(spyDb, times(2)).add_partitions(argParts.capture(), ifNotExistsArg.capture(), needResultsArg.capture());
     // confirm the batch sizes were 5, 5 in the two calls to create partitions
     List<List<Partition>> apds = argParts.getAllValues();
     int retryAttempt = 1;
@@ -175,14 +181,14 @@ public class TestMsckCreatePartitionsInBatches {
   public void testUnevenNumberOfCreatePartitionCalls() throws Exception {
     // create 9 dummy partitions
     Set<PartitionResult> partsNotInMs = createPartsNotInMs(9);
-    IMetaStoreClient spyDb = Mockito.spy(db);
+    IMetaStoreClient spyDb = spy(db);
     // batch size of 5 and decaying factor of 2
     msck.createPartitionsInBatches(spyDb, repairOutput, partsNotInMs, table, 5, 2, 0);
     // there should be 2 calls to create partitions with batch sizes of 5, 4
     ArgumentCaptor<Boolean> ifNotExistsArg = ArgumentCaptor.forClass(Boolean.class);
     ArgumentCaptor<Boolean> needResultsArg = ArgumentCaptor.forClass(Boolean.class);
-    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass((Class) List.class);
-    Mockito.verify(spyDb, Mockito.times(2)).add_partitions(argParts.capture(), ifNotExistsArg.capture(), needResultsArg.capture());
+    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass(List.class);
+    verify(spyDb, times(2)).add_partitions(argParts.capture(), ifNotExistsArg.capture(), needResultsArg.capture());
     // confirm the batch sizes were 5, 4 in the two calls to create partitions
     List<List<Partition>> apds = argParts.getAllValues();
     int retryAttempt = 1;
@@ -204,7 +210,7 @@ public class TestMsckCreatePartitionsInBatches {
   public void testEqualNumberOfPartitions() throws Exception {
     // create 13 dummy partitions
     Set<PartitionResult> partsNotInMs = createPartsNotInMs(13);
-    IMetaStoreClient spyDb = Mockito.spy(db);
+    IMetaStoreClient spyDb = spy(db);
     // batch size of 13 and decaying factor of 2
     msck.createPartitionsInBatches(spyDb, repairOutput, partsNotInMs, table, 13, 2, 0);
     // there should be 1 call to create partitions with batch sizes of 13
@@ -212,7 +218,7 @@ public class TestMsckCreatePartitionsInBatches {
     ArgumentCaptor<Boolean> needResultsArg = ArgumentCaptor.forClass(Boolean.class);
     ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass((Class) List.class);
     // there should be 1 call to create partitions with batch sizes of 13
-    Mockito.verify(spyDb, Mockito.times(1)).add_partitions(argParts.capture(), ifNotExistsArg.capture(),
+    verify(spyDb, times(1)).add_partitions(argParts.capture(), ifNotExistsArg.capture(),
       needResultsArg.capture());
     Assert.assertEquals("Unexpected number of batch size", 13,
         argParts.getValue().size());
@@ -230,17 +236,16 @@ public class TestMsckCreatePartitionsInBatches {
   public void testSmallNumberOfPartitions() throws Exception {
     // create 10 dummy partitions
     Set<PartitionResult> partsNotInMs = createPartsNotInMs(10);
-    IMetaStoreClient spyDb = Mockito.spy(db);
+    IMetaStoreClient spyDb = spy(db);
     // batch size of 20 and decaying factor of 2
     msck.createPartitionsInBatches(spyDb, repairOutput, partsNotInMs, table, 20, 2, 0);
     // there should be 1 call to create partitions with batch sizes of 10
-    Mockito.verify(spyDb, Mockito.times(1)).add_partitions(Mockito.anyObject(), Mockito.anyBoolean(),
-      Mockito.anyBoolean());
+    verify(spyDb, times(1)).add_partitions(Mockito.anyObject(), anyBoolean(), anyBoolean());
     ArgumentCaptor<Boolean> ifNotExistsArg = ArgumentCaptor.forClass(Boolean.class);
     ArgumentCaptor<Boolean> needResultsArg = ArgumentCaptor.forClass(Boolean.class);
-    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass((Class) List.class);
+    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass(List.class);
     // there should be 1 call to create partitions with batch sizes of 10
-    Mockito.verify(spyDb, Mockito.times(1)).add_partitions(argParts.capture(), ifNotExistsArg.capture(),
+    verify(spyDb, times(1)).add_partitions(argParts.capture(), ifNotExistsArg.capture(),
       needResultsArg.capture());
     Assert.assertEquals("Unexpected number of batch size", 10,
         argParts.getValue().size());
@@ -258,20 +263,19 @@ public class TestMsckCreatePartitionsInBatches {
   public void testBatchingWhenException() throws Exception {
     // create 13 dummy partitions
     Set<PartitionResult> partsNotInMs = createPartsNotInMs(23);
-    IMetaStoreClient spyDb = Mockito.spy(db);
+    IMetaStoreClient spyDb = spy(db);
     // first call to createPartitions should throw exception
-    Mockito.doThrow(HiveException.class).doCallRealMethod().doCallRealMethod().when(spyDb)
-      .add_partitions(Mockito.anyObject(), Mockito.anyBoolean(),
-        Mockito.anyBoolean());
+    doThrow(MetaException.class).doCallRealMethod().doCallRealMethod().when(spyDb)
+      .add_partitions(any(), anyBoolean(), anyBoolean());
 
     // test with a batch size of 30 and decaying factor of 2
     msck.createPartitionsInBatches(spyDb, repairOutput, partsNotInMs, table, 30, 2, 0);
     // confirm the batch sizes were 23, 15, 8 in the three calls to create partitions
     ArgumentCaptor<Boolean> ifNotExistsArg = ArgumentCaptor.forClass(Boolean.class);
     ArgumentCaptor<Boolean> needResultsArg = ArgumentCaptor.forClass(Boolean.class);
-    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass((Class) List.class);
+    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass(List.class);
     // there should be 3 calls to create partitions with batch sizes of 23, 15, 8
-    Mockito.verify(spyDb, Mockito.times(3)).add_partitions(argParts.capture(), ifNotExistsArg.capture(),
+    verify(spyDb, times(3)).add_partitions(argParts.capture(), ifNotExistsArg.capture(),
       needResultsArg.capture());
     List<List<Partition>> apds = argParts.getAllValues();
     int retryAttempt = 1;
@@ -298,9 +302,9 @@ public class TestMsckCreatePartitionsInBatches {
   @Test
   public void testRetriesExhaustedBatchSize() throws Exception {
     Set<PartitionResult> partsNotInMs = createPartsNotInMs(17);
-    IMetaStoreClient spyDb = Mockito.spy(db);
-    Mockito.doThrow(HiveException.class).when(spyDb)
-      .add_partitions(Mockito.anyObject(), Mockito.anyBoolean(), Mockito.anyBoolean());
+    IMetaStoreClient spyDb = spy(db);
+    doThrow(MetaException.class).when(spyDb)
+      .add_partitions(any(), anyBoolean(), anyBoolean());
     // batch size of 5 and decaying factor of 2
     Exception ex = null;
     try {
@@ -313,9 +317,9 @@ public class TestMsckCreatePartitionsInBatches {
     // there should be 5 calls to create partitions with batch sizes of 17, 15, 7, 3, 1
     ArgumentCaptor<Boolean> ifNotExistsArg = ArgumentCaptor.forClass(Boolean.class);
     ArgumentCaptor<Boolean> needResultsArg = ArgumentCaptor.forClass(Boolean.class);
-    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass((Class) List.class);
+    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass(List.class);
     // there should be 5 calls to create partitions with batch sizes of 17, 15, 7, 3, 1
-    Mockito.verify(spyDb, Mockito.times(5)).add_partitions(argParts.capture(), ifNotExistsArg.capture(),
+    verify(spyDb, times(5)).add_partitions(argParts.capture(), ifNotExistsArg.capture(),
       needResultsArg.capture());
     List<List<Partition>> apds = argParts.getAllValues();
     int retryAttempt = 1;
@@ -345,9 +349,9 @@ public class TestMsckCreatePartitionsInBatches {
   @Test
   public void testMaxRetriesReached() throws Exception {
     Set<PartitionResult> partsNotInMs = createPartsNotInMs(17);
-    IMetaStoreClient spyDb = Mockito.spy(db);
-    Mockito.doThrow(HiveException.class).when(spyDb)
-      .add_partitions(Mockito.anyObject(), Mockito.anyBoolean(), Mockito.anyBoolean());
+    IMetaStoreClient spyDb = spy(db);
+    doThrow(MetaException.class).when(spyDb)
+      .add_partitions(any(), anyBoolean(), anyBoolean());
     // batch size of 5 and decaying factor of 2
     Exception ex = null;
     try {
@@ -359,8 +363,8 @@ public class TestMsckCreatePartitionsInBatches {
     Assert.assertTrue("Unexpected class of exception thrown", ex instanceof RetryUtilities.RetryException);
     ArgumentCaptor<Boolean> ifNotExistsArg = ArgumentCaptor.forClass(Boolean.class);
     ArgumentCaptor<Boolean> needResultsArg = ArgumentCaptor.forClass(Boolean.class);
-    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass((Class) List.class);
-    Mockito.verify(spyDb, Mockito.times(2)).add_partitions(argParts.capture(), ifNotExistsArg.capture(), needResultsArg.capture());
+    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass(List.class);
+    verify(spyDb, times(2)).add_partitions(argParts.capture(), ifNotExistsArg.capture(), needResultsArg.capture());
     List<List<Partition>> apds = argParts.getAllValues();
     int retryAttempt = 1;
     Assert.assertEquals(
@@ -381,9 +385,9 @@ public class TestMsckCreatePartitionsInBatches {
   @Test
   public void testOneMaxRetries() throws Exception {
     Set<PartitionResult> partsNotInMs = createPartsNotInMs(17);
-    IMetaStoreClient spyDb = Mockito.spy(db);
-    Mockito.doThrow(HiveException.class).when(spyDb)
-      .add_partitions(Mockito.anyObject(), Mockito.anyBoolean(), Mockito.anyBoolean());
+    IMetaStoreClient spyDb = spy(db);
+    doThrow(MetaException.class).when(spyDb)
+      .add_partitions(any(), anyBoolean(), anyBoolean());
     // batch size of 5 and decaying factor of 2
     Exception ex = null;
     try {
@@ -396,9 +400,9 @@ public class TestMsckCreatePartitionsInBatches {
     // there should be 5 calls to create partitions with batch sizes of 17, 15, 7, 3, 1
     ArgumentCaptor<Boolean> ifNotExistsArg = ArgumentCaptor.forClass(Boolean.class);
     ArgumentCaptor<Boolean> needResultsArg = ArgumentCaptor.forClass(Boolean.class);
-    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass((Class) List.class);
+    ArgumentCaptor<List<Partition>> argParts = ArgumentCaptor.forClass(List.class);
     // there should be 5 calls to create partitions with batch sizes of 17, 15, 7, 3, 1
-    Mockito.verify(spyDb, Mockito.times(1)).add_partitions(argParts.capture(), ifNotExistsArg.capture(),
+    verify(spyDb, times(1)).add_partitions(argParts.capture(), ifNotExistsArg.capture(),
       needResultsArg.capture());
     List<List<Partition>> apds = argParts.getAllValues();
     int retryAttempt = 1;
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/TestMsckDropPartitionsInBatches.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/TestMsckDropPartitionsInBatches.java
index 1ec4636..8be3112 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/TestMsckDropPartitionsInBatches.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/TestMsckDropPartitionsInBatches.java
@@ -17,15 +17,6 @@
  */
 package org.apache.hadoop.hive.ql.exec;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.apache.hadoop.hive.conf.HiveConf.ConfVars;
 import org.apache.hadoop.hive.metastore.CheckResult.PartitionResult;
@@ -34,7 +25,7 @@ import org.apache.hadoop.hive.metastore.IMetaStoreClient;
 import org.apache.hadoop.hive.metastore.Msck;
 import org.apache.hadoop.hive.metastore.PartitionDropOptions;
 import org.apache.hadoop.hive.metastore.api.FieldSchema;
-import org.apache.hadoop.hive.metastore.api.MetastoreException;
+import org.apache.hadoop.hive.metastore.api.MetaException;
 import org.apache.hadoop.hive.metastore.api.SerDeInfo;
 import org.apache.hadoop.hive.metastore.api.StorageDescriptor;
 import org.apache.hadoop.hive.metastore.api.Table;
@@ -50,7 +41,22 @@ import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
-import org.mockito.Mockito;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyList;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
 
 /**
  * Unit test for function dropPartitionsInBatches in DDLTask.
@@ -166,7 +172,7 @@ public class TestMsckDropPartitionsInBatches {
 
   private void runDropPartitions(int partCount, int batchSize, int maxRetries, int exceptionStatus)
     throws Exception {
-    IMetaStoreClient spyDb = Mockito.spy(db);
+    IMetaStoreClient spyDb = spy(db);
 
     // create partCount dummy partitions
     Set<PartitionResult> partsNotInFs = dropPartsNotInFs(partCount);
@@ -204,10 +210,9 @@ public class TestMsckDropPartitionsInBatches {
         expectedCallCount++;
 
         // only first call throws exception
-        Mockito.doThrow(MetastoreException.class).doCallRealMethod().doCallRealMethod().when(spyDb)
-          .dropPartitions(Mockito.eq(table.getCatName()), Mockito.eq(table.getDbName()),
-            Mockito.eq(table.getTableName()),
-            Mockito.any(List.class), Mockito.any(PartitionDropOptions.class));
+        doThrow(MetaException.class).doCallRealMethod().doCallRealMethod().when(spyDb)
+            .dropPartitions(eq(table.getCatName()), eq(table.getDbName()),
+            eq(table.getTableName()), anyList(), any(PartitionDropOptions.class));
       }
 
       expectedBatchSizes = new int[expectedCallCount];
@@ -242,9 +247,9 @@ public class TestMsckDropPartitionsInBatches {
         expectedBatchSizes[i] = Integer.min(partCount, actualBatchSize);
       }
       // all calls fail
-      Mockito.doThrow(MetastoreException.class).when(spyDb)
-        .dropPartitions(Mockito.eq(table.getCatName()), Mockito.eq(table.getDbName()), Mockito.eq(table.getTableName()),
-          Mockito.any(List.class), Mockito.any(PartitionDropOptions.class));
+      doThrow(MetaException.class).when(spyDb)
+          .dropPartitions(eq(table.getCatName()), eq(table.getDbName()), eq(table.getTableName()),
+            anyList(), any(PartitionDropOptions.class));
 
       Exception ex = null;
       try {
@@ -260,9 +265,9 @@ public class TestMsckDropPartitionsInBatches {
     // there should be expectedCallCount calls to drop partitions with each batch size of
     // actualBatchSize
     ArgumentCaptor<List> argument = ArgumentCaptor.forClass(List.class);
-    Mockito.verify(spyDb, Mockito.times(expectedCallCount))
-      .dropPartitions(Mockito.eq(table.getCatName()), Mockito.eq(table.getDbName()), Mockito.eq(table.getTableName()),
-        argument.capture(), Mockito.any(PartitionDropOptions.class));
+    verify(spyDb, times(expectedCallCount))
+        .dropPartitions(eq(table.getCatName()), eq(table.getDbName()), eq(table.getTableName()),
+        argument.capture(), any(PartitionDropOptions.class));
 
     // confirm the batch sizes were as expected
     List<List> droppedParts = argument.getAllValues();
@@ -326,7 +331,7 @@ public class TestMsckDropPartitionsInBatches {
 
   /**
    * Tests the number of calls to dropPartitions and the respective batch sizes when first call to
-   * dropPartitions throws MetastoreException. The batch size should be reduced once by the
+   * dropPartitions throws MetaException. The batch size should be reduced once by the
    * decayingFactor 2, iow after batch size is halved.
    *
    * @throws Exception
@@ -338,7 +343,7 @@ public class TestMsckDropPartitionsInBatches {
 
   /**
    * Tests the retries exhausted case when Hive.DropPartitions method call always keep throwing
-   * MetastoreException. The batch sizes should exponentially decreased based on the decaying factor and
+   * MetaException. The batch sizes should exponentially decreased based on the decaying factor and
    * ultimately give up when it reaches 0.
    *
    * @throws Exception
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/TestUtilities.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/TestUtilities.java
index 18b5f27..b6a6bab 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/TestUtilities.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/TestUtilities.java
@@ -26,7 +26,7 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.apache.hadoop.hive.ql.exec.Utilities.getFileExtension;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
@@ -35,7 +35,6 @@ import static org.mockito.Mockito.when;
 
 import java.io.File;
 import java.io.IOException;
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/repl/TestReplDumpTask.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/repl/TestReplDumpTask.java
index 9973e9a..ebdaa3d 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/repl/TestReplDumpTask.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/repl/TestReplDumpTask.java
@@ -41,11 +41,10 @@ import java.util.List;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.mockito.Matchers.eq;
-import static org.mockito.Matchers.same;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.same;
 import static org.mockito.Mockito.mock;
 import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.verifyStatic;
 import static org.powermock.api.mockito.PowerMockito.when;
 import static org.powermock.api.mockito.PowerMockito.whenNew;
 import static org.apache.hadoop.hive.ql.exec.repl.ReplExternalTables.Writer;
@@ -149,7 +148,6 @@ public class TestReplDumpTask {
     try {
       task.bootStrapDump(new Path("mock"), null, mock(Path.class), hive);
     } finally {
-      verifyStatic();
       Utils.resetDbBootstrapDumpState(same(hive), eq("default"), eq(dbRandomKey));
     }
   }
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/repl/bootstrap/AddDependencyToLeavesTest.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/repl/bootstrap/AddDependencyToLeavesTest.java
index bf11362..881c9f4 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/repl/bootstrap/AddDependencyToLeavesTest.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/repl/bootstrap/AddDependencyToLeavesTest.java
@@ -27,7 +27,7 @@ import org.apache.hadoop.hive.ql.plan.DependencyCollectionWork;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import java.io.Serializable;
 import java.util.Arrays;
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/spark/TestSparkTask.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/spark/TestSparkTask.java
index bde6f6d..98c08e4 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/spark/TestSparkTask.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/spark/TestSparkTask.java
@@ -17,7 +17,7 @@
  */
 package org.apache.hadoop.hive.ql.exec.spark;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/spark/TestSparkUtilities.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/spark/TestSparkUtilities.java
index 3af0006..78ff6ec 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/spark/TestSparkUtilities.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/spark/TestSparkUtilities.java
@@ -42,7 +42,7 @@ import java.util.concurrent.Future;
 import java.util.concurrent.atomic.AtomicReference;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.eq;
 import static org.mockito.Mockito.mock;
@@ -65,7 +65,7 @@ public class TestSparkUtilities {
 
     SparkSessionManager mockSessionManager = mock(SparkSessionManager.class);
     doAnswer(invocationOnMock -> {
-      SparkSession sparkSession = invocationOnMock.getArgumentAt(0, SparkSession.class);
+      SparkSession sparkSession = invocationOnMock.getArgument(0, SparkSession.class);
       if (sparkSession == null) {
         return mock(SparkSession.class);
       } else {
@@ -76,7 +76,7 @@ public class TestSparkUtilities {
     SessionState mockSessionState = mock(SessionState.class);
     when(mockSessionState.getConf()).thenReturn(mockConf);
     doAnswer(invocationOnMock -> {
-      activeSparkSession.set(invocationOnMock.getArgumentAt(0, SparkSession.class));
+      activeSparkSession.set(invocationOnMock.getArgument(0, SparkSession.class));
       return null;
     }).when(mockSessionState).setSparkSession(any(SparkSession.class));
     doAnswer(invocationOnMock ->
@@ -137,7 +137,7 @@ public class TestSparkUtilities {
     }).when(fsOp).getConf();
 
     doAnswer(invocationOnMock -> {
-      assertEquals(expectedPathRef.value, invocationOnMock.getArgumentAt(0, Path.class));
+      assertEquals(expectedPathRef.value, invocationOnMock.getArgument(0, Path.class));
       return null;
     }).when(fileSinkDesc).setDirName(any(Path.class));
 
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezTask.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezTask.java
index 6f52d65..cdcac45 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezTask.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestTezTask.java
@@ -17,22 +17,6 @@
  */
 package org.apache.hadoop.hive.ql.exec.tez;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.*;
-import static org.mockito.Mockito.*;
-
-import org.apache.hadoop.yarn.api.records.URL;
-import org.apache.hive.common.util.Ref;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hive.common.metrics.common.Metrics;
@@ -54,6 +38,8 @@ import org.apache.hadoop.hive.ql.session.SessionState.LogHelper;
 import org.apache.hadoop.mapred.JobConf;
 import org.apache.hadoop.yarn.api.records.LocalResource;
 import org.apache.hadoop.yarn.api.records.Resource;
+import org.apache.hadoop.yarn.api.records.URL;
+import org.apache.hive.common.util.Ref;
 import org.apache.tez.client.TezClient;
 import org.apache.tez.dag.api.DAG;
 import org.apache.tez.dag.api.Edge;
@@ -69,6 +55,28 @@ import org.mockito.Mockito;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyMap;
+import static org.mockito.Mockito.anyString;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
 public class TestTezTask {
 
   DagUtils utils;
@@ -90,11 +98,11 @@ public class TestTezTask {
     utils = mock(DagUtils.class);
     fs = mock(FileSystem.class);
     path = mock(Path.class);
-    when(path.getFileSystem(any(Configuration.class))).thenReturn(fs);
-    when(utils.getTezDir(any(Path.class))).thenReturn(path);
+    when(path.getFileSystem(any())).thenReturn(fs);
+    when(utils.getTezDir(any())).thenReturn(path);
     when(
-        utils.createVertex(any(JobConf.class), any(BaseWork.class), any(Path.class),
-            any(TezWork.class), any(Map.class))).thenAnswer(
+        utils.createVertex(any(), any(BaseWork.class), any(Path.class),
+            any(TezWork.class), anyMap())).thenAnswer(
         new Answer<Vertex>() {
 
           @Override
@@ -105,7 +113,7 @@ public class TestTezTask {
           }
         });
 
-    when(utils.createEdge(any(JobConf.class), any(Vertex.class), any(Vertex.class),
+    when(utils.createEdge(any(), any(Vertex.class), any(Vertex.class),
             any(TezEdgeProperty.class), any(BaseWork.class), any(TezWork.class)))
             .thenAnswer(new Answer<Edge>() {
           @Override
@@ -226,7 +234,7 @@ public class TestTezTask {
   @Test
   public void testClose() throws HiveException {
     task.close(work, 0, null);
-    verify(op, times(4)).jobClose(any(Configuration.class), eq(true));
+    verify(op, times(4)).jobClose(any(), eq(true));
   }
 
   @Test
@@ -236,13 +244,13 @@ public class TestTezTask {
     LocalResource res = createResource(inputOutputJars[0]);
     final Map<String, LocalResource> resources = Collections.singletonMap(jarFilePath, res);
 
-    when(utils.localizeTempFiles(anyString(), any(Configuration.class), eq(inputOutputJars),
+    when(utils.localizeTempFiles(anyString(), any(), eq(inputOutputJars),
         any(String[].class))).thenReturn(resources);
     when(sessionState.isOpen()).thenReturn(true);
     when(sessionState.isOpening()).thenReturn(false);
     task.ensureSessionHasResources(sessionState, inputOutputJars);
     // TODO: ideally we should have a test for session itself.
-    verify(sessionState).ensureLocalResources(any(Configuration.class), eq(inputOutputJars));
+    verify(sessionState).ensureLocalResources(any(), eq(inputOutputJars));
   }
 
   private static LocalResource createResource(String url) {
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestUtils.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestUtils.java
index d0425e5..d9aa032 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestUtils.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestUtils.java
@@ -50,7 +50,7 @@ import java.util.List;
 import java.util.Set;
 
 import static org.junit.Assert.assertFalse;
-import static org.mockito.Matchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.Mockito.when;
 import static org.mockito.MockitoAnnotations.initMocks;
 
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestWorkloadManager.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestWorkloadManager.java
index 4659ecb..3e7256e 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestWorkloadManager.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/TestWorkloadManager.java
@@ -27,7 +27,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-import static org.mockito.Matchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/monitoring/TestTezProgressMonitor.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/monitoring/TestTezProgressMonitor.java
index 3338ca4..ec52f38 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/monitoring/TestTezProgressMonitor.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/tez/monitoring/TestTezProgressMonitor.java
@@ -23,28 +23,25 @@ import org.apache.tez.dag.api.TezException;
 import org.apache.tez.dag.api.client.DAGClient;
 import org.apache.tez.dag.api.client.DAGStatus;
 import org.apache.tez.dag.api.client.Progress;
-import org.apache.tez.dag.api.client.StatusGetOpts;
 import org.apache.tez.dag.api.client.VertexStatus;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Matchers;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Set;
 
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.hasItems;
 import static org.hamcrest.CoreMatchers.sameInstance;
 import static org.hamcrest.core.Is.is;
 import static org.junit.Assert.assertThat;
-import static org.mockito.Matchers.anySet;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Matchers.isNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
@@ -89,15 +86,15 @@ public class TestTezProgressMonitor {
   @Test
   public void setupInternalStateOnObjectCreation() throws IOException, TezException {
     when(dagStatus.getState()).thenReturn(DAGStatus.State.RUNNING);
-    when(dagClient.getVertexStatus(eq(MAPPER), anySet())).thenReturn(succeeded);
-    when(dagClient.getVertexStatus(eq(REDUCER), anySet())).thenReturn(running);
+    when(dagClient.getVertexStatus(eq(MAPPER), any())).thenReturn(succeeded);
+    when(dagClient.getVertexStatus(eq(REDUCER), any())).thenReturn(running);
 
     TezProgressMonitor monitor =
         new TezProgressMonitor(dagClient, dagStatus, new ArrayList<BaseWork>(), progressMap(), console,
             Long.MAX_VALUE);
 
-    verify(dagClient).getVertexStatus(eq(MAPPER), isNull(Set.class));
-    verify(dagClient).getVertexStatus(eq(REDUCER), isNull(Set.class));
+    verify(dagClient).getVertexStatus(eq(MAPPER), isNull());
+    verify(dagClient).getVertexStatus(eq(REDUCER), isNull());
     verifyNoMoreInteractions(dagClient);
 
     assertThat(monitor.vertexStatusMap.keySet(), hasItems(MAPPER, REDUCER));
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/util/DAGTraversalTest.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/util/DAGTraversalTest.java
index f482e3b..b8d4256 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/util/DAGTraversalTest.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/util/DAGTraversalTest.java
@@ -20,7 +20,7 @@ package org.apache.hadoop.hive.ql.exec.util;
 import org.apache.hadoop.hive.ql.exec.Task;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import java.io.Serializable;
 import java.util.Arrays;
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/hooks/TestQueryHooks.java b/ql/src/test/org/apache/hadoop/hive/ql/hooks/TestQueryHooks.java
index 51e7215..263c68a 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/hooks/TestQueryHooks.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/hooks/TestQueryHooks.java
@@ -27,10 +27,10 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 import org.mockito.ArgumentMatcher;
 
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.argThat;
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.argThat;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
@@ -151,7 +151,7 @@ public class TestQueryHooks {
     return driver;
   }
 
-  private static final class QueryLifeTimeHookContextMatcher extends ArgumentMatcher<QueryLifeTimeHookContext> {
+  private static final class QueryLifeTimeHookContextMatcher implements ArgumentMatcher<QueryLifeTimeHookContext> {
 
     private final String command;
 
@@ -160,8 +160,8 @@ public class TestQueryHooks {
     }
 
     @Override
-    public boolean matches(Object o) {
-      return ((QueryLifeTimeHookContext) o).getCommand().equals(this.command);
+    public boolean matches(QueryLifeTimeHookContext queryLifeTimeHookContext) {
+      return queryLifeTimeHookContext.getCommand().equals(this.command);
     }
   }
 }
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/TestAcidInputFormat.java b/ql/src/test/org/apache/hadoop/hive/ql/io/TestAcidInputFormat.java
index 49ae637..dc281d2 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/io/TestAcidInputFormat.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/io/TestAcidInputFormat.java
@@ -32,7 +32,7 @@ import org.apache.hadoop.hive.ql.io.AcidInputFormat.DeltaMetaData;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class TestAcidInputFormat {
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/TestHiveBinarySearchRecordReader.java b/ql/src/test/org/apache/hadoop/hive/ql/io/TestHiveBinarySearchRecordReader.java
index 89fff47..2658bb6 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/io/TestHiveBinarySearchRecordReader.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/io/TestHiveBinarySearchRecordReader.java
@@ -18,13 +18,12 @@
 
 package org.apache.hadoop.hive.ql.io;
 
-import static org.mockito.Matchers.anyObject;
+import static org.mockito.ArgumentMatchers.anyObject;
 import static org.mockito.Mockito.inOrder;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.util.LinkedHashMap;
 
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcRawRecordMerger.java b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcRawRecordMerger.java
index 17ceede..f63c40a 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcRawRecordMerger.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcRawRecordMerger.java
@@ -75,6 +75,8 @@ import java.util.List;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.assertNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.when;
 
 public class TestOrcRawRecordMerger {
 
@@ -169,19 +171,19 @@ public class TestOrcRawRecordMerger {
     setRow(row4, OrcRecordUpdater.INSERT_OPERATION, 40, 50, 60, 130, "fourth");
     OrcStruct row5 = new OrcStruct(OrcRecordUpdater.FIELDS);
     setRow(row5, OrcRecordUpdater.INSERT_OPERATION, 40, 50, 61, 140, "fifth");
-    Mockito.when(reader.rowsOptions(Mockito.any(Reader.Options.class), Mockito.any(HiveConf.class)))
+    when(reader.rowsOptions(any(Reader.Options.class), any(HiveConf.class)))
         .thenReturn(recordReader);
 
-    Mockito.when(recordReader.hasNext()).
+    when(recordReader.hasNext()).
         thenReturn(true, true, true, true, true, false);
 
-    Mockito.when(recordReader.getProgress()).thenReturn(1.0f);
+    when(recordReader.getProgress()).thenReturn(1.0f);
 
-    Mockito.when(recordReader.next(null)).thenReturn(row1);
-    Mockito.when(recordReader.next(row1)).thenReturn(row2);
-    Mockito.when(recordReader.next(row2)).thenReturn(row3);
-    Mockito.when(recordReader.next(row3)).thenReturn(row4);
-    Mockito.when(recordReader.next(row4)).thenReturn(row5);
+    when(recordReader.next(null)).thenReturn(row1);
+    when(recordReader.next(row1)).thenReturn(row2);
+    when(recordReader.next(row2)).thenReturn(row3);
+    when(recordReader.next(row3)).thenReturn(row4);
+    when(recordReader.next(row4)).thenReturn(row5);
 
     return reader;
   }
@@ -275,16 +277,17 @@ public class TestOrcRawRecordMerger {
     OrcStruct row4 = createOriginalRow("fourth");
     OrcStruct row5 = createOriginalRow("fifth");
 
-    Mockito.when(reader.rowsOptions(Mockito.any(Reader.Options.class), Mockito.any(HiveConf.class)))
+    // HiveConf argument of rowsOptions can be null
+    when(reader.rowsOptions(any(Reader.Options.class), any()))
         .thenReturn(recordReader);
-    Mockito.when(recordReader.hasNext()).
+    when(recordReader.hasNext()).
         thenReturn(true, true, true, true, true, false);
-    Mockito.when(recordReader.getRowNumber()).thenReturn(0L, 1L, 2L, 3L, 4L);
-    Mockito.when(recordReader.next(null)).thenReturn(row1);
-    Mockito.when(recordReader.next(row1)).thenReturn(row2);
-    Mockito.when(recordReader.next(row2)).thenReturn(row3);
-    Mockito.when(recordReader.next(row3)).thenReturn(row4);
-    Mockito.when(recordReader.next(row4)).thenReturn(row5);
+    when(recordReader.getRowNumber()).thenReturn(0L, 1L, 2L, 3L, 4L);
+    when(recordReader.next(null)).thenReturn(row1);
+    when(recordReader.next(row1)).thenReturn(row2);
+    when(recordReader.next(row2)).thenReturn(row3);
+    when(recordReader.next(row3)).thenReturn(row4);
+    when(recordReader.next(row4)).thenReturn(row5);
     return reader;
   }
 
@@ -415,8 +418,8 @@ public class TestOrcRawRecordMerger {
     typeBuilder.setKind(OrcProto.Type.Kind.STRING);
     types.add(typeBuilder.build());
 
-    Mockito.when(reader.getTypes()).thenReturn(types);
-    Mockito.when(reader.rowsOptions(Mockito.any(Reader.Options.class), Mockito.any(HiveConf.class)))
+    when(reader.getTypes()).thenReturn(types);
+    when(reader.rowsOptions(any(Reader.Options.class), any()))
         .thenReturn(recordReader);
 
     OrcStruct row1 = new OrcStruct(OrcRecordUpdater.FIELDS);
@@ -430,22 +433,22 @@ public class TestOrcRawRecordMerger {
     OrcStruct row5 = new OrcStruct(OrcRecordUpdater.FIELDS);
     setRow(row5, OrcRecordUpdater.INSERT_OPERATION, 40, 50, 61, 140, "fifth");
 
-    Mockito.when(recordReader.hasNext()).
+    when(recordReader.hasNext()).
         thenReturn(true, true, true, true, true, false);
 
-    Mockito.when(recordReader.getProgress()).thenReturn(1.0f);
+    when(recordReader.getProgress()).thenReturn(1.0f);
 
-    Mockito.when(recordReader.next(null)).thenReturn(row1, row4);
-    Mockito.when(recordReader.next(row1)).thenReturn(row2);
-    Mockito.when(recordReader.next(row2)).thenReturn(row3);
-    Mockito.when(recordReader.next(row3)).thenReturn(row5);
+    when(recordReader.next(null)).thenReturn(row1, row4);
+    when(recordReader.next(row1)).thenReturn(row2);
+    when(recordReader.next(row2)).thenReturn(row3);
+    when(recordReader.next(row3)).thenReturn(row5);
 
-    Mockito.when(reader.hasMetadataValue(OrcRecordUpdater.ACID_KEY_INDEX_NAME))
+    when(reader.hasMetadataValue(OrcRecordUpdater.ACID_KEY_INDEX_NAME))
         .thenReturn(true);
-    Mockito.when(reader.getMetadataValue(OrcRecordUpdater.ACID_KEY_INDEX_NAME))
+    when(reader.getMetadataValue(OrcRecordUpdater.ACID_KEY_INDEX_NAME))
         .thenReturn(ByteBuffer.wrap("10,20,30;40,50,60;40,50,61"
             .getBytes("UTF-8")));
-    Mockito.when(reader.getStripes())
+    when(reader.getStripes())
         .thenReturn(createStripes(2, 2, 1));
 
     OrcRawRecordMerger merger = new OrcRawRecordMerger(conf, false, reader,
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDummyTxnManager.java b/ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDummyTxnManager.java
index 7a3ba3e..62e9bc4 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDummyTxnManager.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDummyTxnManager.java
@@ -39,7 +39,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import java.lang.reflect.Field;
 import java.util.ArrayList;
@@ -114,7 +114,7 @@ public class TestDummyTxnManager {
     LockException lEx = new LockException(ErrorMsg.LOCK_ACQUIRE_CANCELLED.getMsg());
     when(mockLockManager.lock(anyListOf(HiveLockObj.class), eq(false), eq(driverState))).thenReturn(expectedLocks);
     when(mockLockManager.lock(anyListOf(HiveLockObj.class), eq(false), eq(driverInterrupted))).thenThrow(lEx);
-    doNothing().when(mockLockManager).setContext(any(HiveLockManagerCtx.class));
+    lenient().doNothing().when(mockLockManager).setContext(any(HiveLockManagerCtx.class));
     doNothing().when(mockLockManager).close();
     ArgumentCaptor<List> lockObjsCaptor = ArgumentCaptor.forClass(List.class);
 
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/optimizer/calcite/rules/TestHivePointLookupOptimizerRule.java b/ql/src/test/org/apache/hadoop/hive/ql/optimizer/calcite/rules/TestHivePointLookupOptimizerRule.java
index 2b37c54..ef878f0 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/optimizer/calcite/rules/TestHivePointLookupOptimizerRule.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/optimizer/calcite/rules/TestHivePointLookupOptimizerRule.java
@@ -18,8 +18,6 @@
 
 package org.apache.hadoop.hive.ql.optimizer.calcite.rules;
 
-import static org.junit.Assert.assertEquals;
-
 import org.apache.calcite.jdbc.JavaTypeFactoryImpl;
 import org.apache.calcite.plan.RelOptCluster;
 import org.apache.calcite.plan.RelOptSchema;
@@ -38,10 +36,13 @@ import org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveFilter;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Matchers;
 import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.lenient;
 
 @RunWith(MockitoJUnitRunner.class)
 public class TestHivePointLookupOptimizerRule {
@@ -74,9 +75,9 @@ public class TestHivePointLookupOptimizerRule {
     RexBuilder rexBuilder = new RexBuilder(typeFactory);
     final RelOptCluster optCluster = RelOptCluster.create(planner, rexBuilder);
     RelDataType rowTypeMock = typeFactory.createStructType(MyRecord.class);
-    Mockito.doReturn(rowTypeMock).when(tableMock).getRowType();
-    Mockito.doReturn(tableMock).when(schemaMock).getTableForMember(Matchers.any());
-    Mockito.doReturn(hiveTableMDMock).when(tableMock).getHiveTableMD();
+    doReturn(rowTypeMock).when(tableMock).getRowType();
+    doReturn(tableMock).when(schemaMock).getTableForMember(any());
+    lenient().doReturn(hiveTableMDMock).when(tableMock).getHiveTableMD();
 
     builder = HiveRelFactories.HIVE_BUILDER.create(optCluster, schemaMock);
 
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/optimizer/calcite/rules/TestHiveReduceExpressionsWithStatsRule.java b/ql/src/test/org/apache/hadoop/hive/ql/optimizer/calcite/rules/TestHiveReduceExpressionsWithStatsRule.java
index 183f127..7dc1277 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/optimizer/calcite/rules/TestHiveReduceExpressionsWithStatsRule.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/optimizer/calcite/rules/TestHiveReduceExpressionsWithStatsRule.java
@@ -47,7 +47,7 @@ import org.junit.runner.RunWith;
 import org.mockito.Matchers;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import com.google.common.collect.Lists;
 
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/optimizer/signature/TestRelSignature.java b/ql/src/test/org/apache/hadoop/hive/ql/optimizer/signature/TestRelSignature.java
index f8a54ca..7532bfd 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/optimizer/signature/TestRelSignature.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/optimizer/signature/TestRelSignature.java
@@ -20,6 +20,8 @@ package org.apache.hadoop.hive.ql.optimizer.signature;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.lenient;
 
 import org.apache.calcite.jdbc.JavaTypeFactoryImpl;
 import org.apache.calcite.plan.RelOptCluster;
@@ -50,8 +52,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Matchers;
 import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class TestRelSignature {
@@ -84,9 +85,9 @@ public class TestRelSignature {
     RexBuilder rexBuilder = new RexBuilder(typeFactory);
     final RelOptCluster optCluster = RelOptCluster.create(planner, rexBuilder);
     RelDataType rowTypeMock = typeFactory.createStructType(MyRecord.class);
-    Mockito.doReturn(rowTypeMock).when(tableMock).getRowType();
-    Mockito.doReturn(tableMock).when(schemaMock).getTableForMember(Matchers.any());
-    Mockito.doReturn(hiveTableMDMock).when(tableMock).getHiveTableMD();
+    doReturn(rowTypeMock).when(tableMock).getRowType();
+    doReturn(tableMock).when(schemaMock).getTableForMember(Matchers.any());
+    lenient().doReturn(hiveTableMDMock).when(tableMock).getHiveTableMD();
 
     builder = HiveRelFactories.HIVE_BUILDER.create(optCluster, schemaMock);
   }
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/parse/repl/TestCopyUtils.java b/ql/src/test/org/apache/hadoop/hive/ql/parse/repl/TestCopyUtils.java
index 610af09..535bc6d 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/parse/repl/TestCopyUtils.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/parse/repl/TestCopyUtils.java
@@ -38,10 +38,10 @@ import java.util.Arrays;
 import java.util.List;
 
 import static org.junit.Assert.assertFalse;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyListOf;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Matchers.same;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyListOf;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.same;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.powermock.api.mockito.PowerMockito.mockStatic;
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/parse/repl/dump/TestHiveWrapper.java b/ql/src/test/org/apache/hadoop/hive/ql/parse/repl/dump/TestHiveWrapper.java
index cb3b5cc..f0ead1d 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/parse/repl/dump/TestHiveWrapper.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/parse/repl/dump/TestHiveWrapper.java
@@ -26,7 +26,7 @@ import org.junit.runner.RunWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 @RunWith(MockitoJUnitRunner.class)
 public class TestHiveWrapper {
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/parse/repl/load/message/TestPrimaryToReplicaResourceFunction.java b/ql/src/test/org/apache/hadoop/hive/ql/parse/repl/load/message/TestPrimaryToReplicaResourceFunction.java
index 3c7ef1d..faba6e4 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/parse/repl/load/message/TestPrimaryToReplicaResourceFunction.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/parse/repl/load/message/TestPrimaryToReplicaResourceFunction.java
@@ -48,7 +48,7 @@ import static org.apache.hadoop.hive.ql.parse.repl.load.message.MessageHandler.C
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.powermock.api.mockito.PowerMockito.mockStatic;
 import static org.powermock.api.mockito.PowerMockito.when;
@@ -87,7 +87,7 @@ public class TestPrimaryToReplicaResourceFunction {
     when(mockFs.getScheme()).thenReturn("hdfs");
     when(mockFs.getUri()).thenReturn(new URI("hdfs", "somehost:9000", null, null, null));
     mockStatic(System.class);
-    when(System.nanoTime()).thenReturn(Long.MAX_VALUE);
+//    when(System.nanoTime()).thenReturn(Long.MAX_VALUE);
     when(functionObj.getFunctionName()).thenReturn("someFunctionName");
     mockStatic(ReplCopyTask.class);
     Task mock = mock(Task.class);
@@ -100,6 +100,6 @@ public class TestPrimaryToReplicaResourceFunction {
     assertThat(resourceUri.getUri(),
         is(equalTo(
             "hdfs://somehost:9000/someBasePath/withADir/replicadbname/somefunctionname/" + String
-                .valueOf(Long.MAX_VALUE) + "/ab.jar")));
+                .valueOf(0L) + "/ab.jar")));
   }
 }
\ No newline at end of file
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHivePrivilegeObjectOwnerNameAndType.java b/ql/src/test/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHivePrivilegeObjectOwnerNameAndType.java
index e6576d1..2bd5c8a 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHivePrivilegeObjectOwnerNameAndType.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/security/authorization/plugin/TestHivePrivilegeObjectOwnerNameAndType.java
@@ -36,7 +36,7 @@ import org.mockito.Mockito;
 
 import java.util.List;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.verify;
 
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDAFEvaluator.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDAFEvaluator.java
index d3df170..0bc1975 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDAFEvaluator.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDAFEvaluator.java
@@ -31,7 +31,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFExtractUnion.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFExtractUnion.java
index 3adc5ca..0fcb341 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFExtractUnion.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFExtractUnion.java
@@ -37,7 +37,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import com.google.common.collect.ImmutableList;
 
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/ptf/TestBoundaryCache.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/ptf/TestBoundaryCache.java
index 714c51b..5bd1ca4 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/udf/ptf/TestBoundaryCache.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/ptf/TestBoundaryCache.java
@@ -51,7 +51,7 @@ import static org.apache.hadoop.hive.ql.parse.WindowingSpec.Direction.FOLLOWING;
 import static org.apache.hadoop.hive.ql.parse.WindowingSpec.Direction.PRECEDING;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
@@ -227,7 +227,7 @@ public class TestBoundaryCache {
           AtomicInteger readCounter) throws Exception {
     PTFPartition partitionMock = mock(PTFPartition.class);
     doAnswer(invocationOnMock -> {
-      int idx = invocationOnMock.getArgumentAt(0, Integer.class);
+      int idx = invocationOnMock.getArgument(0, Integer.class);
       return partition.get(idx);
     }).when(partitionMock).getAt(any(Integer.class));
     doAnswer(invocationOnMock -> {
@@ -242,18 +242,18 @@ public class TestBoundaryCache {
     ValueBoundaryScanner scannerSpy = spy(scan);
     doAnswer(invocationOnMock -> {
       readCounter.incrementAndGet();
-      List<IntWritable> row = invocationOnMock.getArgumentAt(0, List.class);
+      List<IntWritable> row = invocationOnMock.getArgument(0, List.class);
       return row.get(orderByCol);
     }).when(scannerSpy).computeValue(any(Object.class));
     doAnswer(invocationOnMock -> {
-      IntWritable v1 = invocationOnMock.getArgumentAt(0, IntWritable.class);
-      IntWritable v2 = invocationOnMock.getArgumentAt(1, IntWritable.class);
+      IntWritable v1 = invocationOnMock.getArgument(0, IntWritable.class);
+      IntWritable v2 = invocationOnMock.getArgument(1, IntWritable.class);
       return (v1 != null && v2 != null) ? v1.get() == v2.get() : v1 == null && v2 == null;
     }).when(scannerSpy).isEqual(any(Object.class), any(Object.class));
     doAnswer(invocationOnMock -> {
-      IntWritable v1 = invocationOnMock.getArgumentAt(0, IntWritable.class);
-      IntWritable v2 = invocationOnMock.getArgumentAt(1, IntWritable.class);
-      Integer amt = invocationOnMock.getArgumentAt(2, Integer.class);
+      IntWritable v1 = invocationOnMock.getArgument(0, IntWritable.class);
+      IntWritable v2 = invocationOnMock.getArgument(1, IntWritable.class);
+      Integer amt = invocationOnMock.getArgument(2, Integer.class);
       return (v1 != null && v2 != null) ? (v1.get() - v2.get()) > amt :  v1 != null || v2 != null;
     }).when(scannerSpy).isDistanceGreater(any(Object.class), any(Object.class), any(Integer.class));
 
diff --git a/service/pom.xml b/service/pom.xml
index 911e93a..04c9a29 100644
--- a/service/pom.xml
+++ b/service/pom.xml
@@ -307,7 +307,7 @@
     </dependency>
     <dependency>
       <groupId>org.powermock</groupId>
-      <artifactId>powermock-api-mockito</artifactId>
+      <artifactId>powermock-api-mockito2</artifactId>
       <version>${powermock.version}</version>
       <scope>test</scope>
     </dependency>
diff --git a/service/src/test/org/apache/hive/service/auth/TestLdapAuthenticationProviderImpl.java b/service/src/test/org/apache/hive/service/auth/TestLdapAuthenticationProviderImpl.java
index 0396b74..c8632ae 100644
--- a/service/src/test/org/apache/hive/service/auth/TestLdapAuthenticationProviderImpl.java
+++ b/service/src/test/org/apache/hive/service/auth/TestLdapAuthenticationProviderImpl.java
@@ -32,9 +32,8 @@ import org.junit.Rule;
 import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
-import static org.junit.Assert.*;
 import static org.mockito.Mockito.*;
 
 @RunWith(MockitoJUnitRunner.class)
@@ -88,7 +87,7 @@ public class TestLdapAuthenticationProviderImpl {
 
     DirSearchFactory factory = mock(DirSearchFactory.class);
 
-    when(search.findUserDn("user1")).thenReturn("cn=user1,ou=PowerUsers,dc=mycorp,dc=com");
+    lenient().when(search.findUserDn("user1")).thenReturn("cn=user1,ou=PowerUsers,dc=mycorp,dc=com");
 
     when(factory.getInstance(conf, "cn=user1,ou=PowerUsers,dc=mycorp,dc=com", "Blah")).thenReturn(search);
     when(factory.getInstance(conf, "cn=user1,ou=Users,dc=mycorp,dc=com", "Blah")).thenThrow(AuthenticationException.class);
@@ -221,7 +220,7 @@ public class TestLdapAuthenticationProviderImpl {
 
     when(search.findUserDn("user3")).thenReturn("cn=user3,ou=PowerUsers,dc=mycorp,dc=com");
 
-    when(search.findGroupsForUser("cn=user3,ou=PowerUsers,dc=mycorp,dc=com"))
+    lenient().when(search.findGroupsForUser("cn=user3,ou=PowerUsers,dc=mycorp,dc=com"))
         .thenReturn(Arrays.asList(
             "cn=testGroup,ou=Groups,dc=mycorp,dc=com",
             "cn=group3,ou=Groups,dc=mycorp,dc=com"));
@@ -251,7 +250,7 @@ public class TestLdapAuthenticationProviderImpl {
         "(&(objectClass=person)(|(memberOf=CN=Domain Admins,CN=Users,DC=apache,DC=org)(memberOf=CN=Administrators,CN=Builtin,DC=apache,DC=org)))");
     conf.setVar(HiveConf.ConfVars.HIVE_SERVER2_PLAIN_LDAP_USERFILTER, "user3");
 
-    when(search.findUserDn("user3")).thenReturn("cn=user3,ou=PowerUsers,dc=mycorp,dc=com");
+    lenient().when(search.findUserDn("user3")).thenReturn("cn=user3,ou=PowerUsers,dc=mycorp,dc=com");
     when(search.executeCustomQuery(anyString())).thenReturn(Arrays.asList(
         "cn=user1,ou=PowerUsers,dc=mycorp,dc=com",
         "cn=user2,ou=PowerUsers,dc=mycorp,dc=com"));
diff --git a/service/src/test/org/apache/hive/service/auth/ldap/TestChainFilter.java b/service/src/test/org/apache/hive/service/auth/ldap/TestChainFilter.java
index b8385eb..8043d9c 100644
--- a/service/src/test/org/apache/hive/service/auth/ldap/TestChainFilter.java
+++ b/service/src/test/org/apache/hive/service/auth/ldap/TestChainFilter.java
@@ -23,7 +23,7 @@ import javax.security.sasl.AuthenticationException;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import org.junit.Before;
 import org.mockito.Mock;
diff --git a/service/src/test/org/apache/hive/service/auth/ldap/TestCustomQueryFilter.java b/service/src/test/org/apache/hive/service/auth/ldap/TestCustomQueryFilter.java
index 48972e7..d8725ae 100644
--- a/service/src/test/org/apache/hive/service/auth/ldap/TestCustomQueryFilter.java
+++ b/service/src/test/org/apache/hive/service/auth/ldap/TestCustomQueryFilter.java
@@ -24,7 +24,7 @@ import javax.security.sasl.AuthenticationException;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import org.junit.Before;
 import org.mockito.Mock;
diff --git a/service/src/test/org/apache/hive/service/auth/ldap/TestGroupFilter.java b/service/src/test/org/apache/hive/service/auth/ldap/TestGroupFilter.java
index 9ea5361..34f50b7 100644
--- a/service/src/test/org/apache/hive/service/auth/ldap/TestGroupFilter.java
+++ b/service/src/test/org/apache/hive/service/auth/ldap/TestGroupFilter.java
@@ -24,7 +24,7 @@ import javax.security.sasl.AuthenticationException;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import org.junit.Before;
 import org.mockito.Mock;
@@ -142,7 +142,8 @@ public class TestGroupFilter {
       throws AuthenticationException, NamingException, IOException {
     conf.setVar(HiveConf.ConfVars.HIVE_SERVER2_PLAIN_LDAP_GROUPFILTER, "hiveusers,containsg1");
 
-    when(search.findGroupsForUser(eq("user1"))).thenReturn(Arrays.asList("SuperUsers", "Office1", "G1", "G2"));
+    lenient().when(search.findGroupsForUser(eq("user1")))
+        .thenReturn(Arrays.asList("SuperUsers", "Office1", "G1", "G2"));
 
     Filter filter = factory.getInstance(conf);
     filter.apply(search, "user1");
@@ -153,7 +154,8 @@ public class TestGroupFilter {
       throws AuthenticationException, NamingException, IOException {
     conf.setVar(HiveConf.ConfVars.HIVE_SERVER2_PLAIN_LDAP_GROUPFILTER, "HiveUsers");
 
-    when(search.findGroupsForUser(eq("user1"))).thenReturn(Arrays.asList("SuperUsers", "Office1", "G1", "G2"));
+    lenient().when(search.findGroupsForUser(eq("user1")))
+        .thenReturn(Arrays.asList("SuperUsers", "Office1", "G1", "G2"));
 
     Filter filter = factory.getInstance(conf);
     filter.apply(search, "user1");
diff --git a/service/src/test/org/apache/hive/service/auth/ldap/TestLdapSearch.java b/service/src/test/org/apache/hive/service/auth/ldap/TestLdapSearch.java
index c5e995e..78cba2a 100644
--- a/service/src/test/org/apache/hive/service/auth/ldap/TestLdapSearch.java
+++ b/service/src/test/org/apache/hive/service/auth/ldap/TestLdapSearch.java
@@ -32,7 +32,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import static org.junit.Assert.*;
 import static org.mockito.Mockito.*;
diff --git a/service/src/test/org/apache/hive/service/auth/ldap/TestSearchResultHandler.java b/service/src/test/org/apache/hive/service/auth/ldap/TestSearchResultHandler.java
index db01d10..7136b5f 100644
--- a/service/src/test/org/apache/hive/service/auth/ldap/TestSearchResultHandler.java
+++ b/service/src/test/org/apache/hive/service/auth/ldap/TestSearchResultHandler.java
@@ -28,7 +28,7 @@ import javax.naming.NamingException;
 import javax.naming.directory.SearchResult;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import static org.junit.Assert.*;
 import static org.mockito.Mockito.*;
diff --git a/service/src/test/org/apache/hive/service/auth/ldap/TestUserFilter.java b/service/src/test/org/apache/hive/service/auth/ldap/TestUserFilter.java
index 4c86de2..3edac26 100644
--- a/service/src/test/org/apache/hive/service/auth/ldap/TestUserFilter.java
+++ b/service/src/test/org/apache/hive/service/auth/ldap/TestUserFilter.java
@@ -23,7 +23,7 @@ import javax.security.sasl.AuthenticationException;
 import org.apache.hadoop.hive.conf.HiveConf;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import org.junit.Before;
 import org.mockito.Mock;
diff --git a/service/src/test/org/apache/hive/service/auth/ldap/TestUserSearchFilter.java b/service/src/test/org/apache/hive/service/auth/ldap/TestUserSearchFilter.java
index d42e5f1..d066fd0 100644
--- a/service/src/test/org/apache/hive/service/auth/ldap/TestUserSearchFilter.java
+++ b/service/src/test/org/apache/hive/service/auth/ldap/TestUserSearchFilter.java
@@ -25,7 +25,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import static org.junit.Assert.*;
 import static org.mockito.Mockito.*;
diff --git a/service/src/test/org/apache/hive/service/cli/thrift/ThriftHttpServletTest.java b/service/src/test/org/apache/hive/service/cli/thrift/ThriftHttpServletTest.java
index 948e97f..04c11b0 100644
--- a/service/src/test/org/apache/hive/service/cli/thrift/ThriftHttpServletTest.java
+++ b/service/src/test/org/apache/hive/service/cli/thrift/ThriftHttpServletTest.java
@@ -27,7 +27,7 @@ import org.junit.rules.ExpectedException;
 
 import org.junit.runner.RunWith;
 import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import javax.servlet.http.HttpServletRequest;
 
diff --git a/shims/common/src/main/test/org/apache/hadoop/fs/TestProxyFileSystem.java b/shims/common/src/main/test/org/apache/hadoop/fs/TestProxyFileSystem.java
index 37667bb..068cef7 100644
--- a/shims/common/src/main/test/org/apache/hadoop/fs/TestProxyFileSystem.java
+++ b/shims/common/src/main/test/org/apache/hadoop/fs/TestProxyFileSystem.java
@@ -27,7 +27,7 @@ import org.junit.Test;
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThat;
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
diff --git a/shims/common/src/main/test/org/apache/hadoop/hive/io/TestHdfsUtils.java b/shims/common/src/main/test/org/apache/hadoop/hive/io/TestHdfsUtils.java
index 541b205..55f9094 100644
--- a/shims/common/src/main/test/org/apache/hadoop/hive/io/TestHdfsUtils.java
+++ b/shims/common/src/main/test/org/apache/hadoop/hive/io/TestHdfsUtils.java
@@ -33,7 +33,7 @@ import org.apache.hadoop.fs.permission.FsPermission;
 
 import org.junit.Test;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -59,7 +59,7 @@ public class TestHdfsUtils {
     doThrow(RuntimeException.class).when(fs).setOwner(any(Path.class), any(String.class), any(String.class));
 
     HdfsUtils.setFullFileStatus(conf, mockHadoopFileStatus, "fakeGroup2", fs, new Path("fakePath"), false);
-    verify(fs).setOwner(any(Path.class), any(String.class), any(String.class));
+    verify(fs).setOwner(any(Path.class), any(), any(String.class));
   }
 
   /**
@@ -156,7 +156,7 @@ public class TestHdfsUtils {
     doThrow(RuntimeException.class).when(mockFsShell).run(any(String[].class));
 
     HdfsUtils.setFullFileStatus(conf, mockHadoopFileStatus, "", mock(FileSystem.class), fakeTarget, true, mockFsShell);
-    verify(mockFsShell).run(new String[]{"-setfacl", "-R", "--set", any(String.class), fakeTarget.toString()});
+    verify(mockFsShell).run(new String[]{"-setfacl", "-R", "--set", any(), fakeTarget.toString()});
   }
 
   /**
@@ -179,6 +179,6 @@ public class TestHdfsUtils {
 
     HdfsUtils.setFullFileStatus(conf, mockHadoopFileStatus, "", mock(FileSystem.class), fakeTarget,
             true, mockFsShell);
-    verify(mockFsShell).run(new String[]{"-chmod", "-R", any(String.class), fakeTarget.toString()});
+    verify(mockFsShell).run(new String[]{"-chmod", "-R", any(), fakeTarget.toString()});
   }
 }
diff --git a/spark-client/src/test/java/org/apache/hive/spark/client/TestJobHandle.java b/spark-client/src/test/java/org/apache/hive/spark/client/TestJobHandle.java
index b81a34b..d6ecd86 100644
--- a/spark-client/src/test/java/org/apache/hive/spark/client/TestJobHandle.java
+++ b/spark-client/src/test/java/org/apache/hive/spark/client/TestJobHandle.java
@@ -25,7 +25,7 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.InOrder;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 import static org.junit.Assert.*;
 import static org.mockito.Mockito.*;
 
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreLdapAuthenticationProviderImpl.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreLdapAuthenticationProviderImpl.java
index bad5da5..002fd07 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreLdapAuthenticationProviderImpl.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreLdapAuthenticationProviderImpl.java
@@ -34,10 +34,18 @@ import org.junit.Rule;
 import org.junit.rules.ExpectedException;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
-
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+import org.mockito.junit.MockitoJUnitRunner;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isA;
+import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.lenient;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 @RunWith(MockitoJUnitRunner.class)
 public class TestMetaStoreLdapAuthenticationProviderImpl {
@@ -90,7 +98,7 @@ public class TestMetaStoreLdapAuthenticationProviderImpl {
 
     DirSearchFactory factory = mock(DirSearchFactory.class);
 
-    when(search.findUserDn("user1")).thenReturn("cn=user1,ou=PowerUsers,dc=mycorp,dc=com");
+    lenient().when(search.findUserDn("user1")).thenReturn("cn=user1,ou=PowerUsers,dc=mycorp,dc=com");
 
     when(factory.getInstance(conf, "cn=user1,ou=PowerUsers,dc=mycorp,dc=com", "Blah")).thenReturn(search);
     when(factory.getInstance(conf, "cn=user1,ou=Users,dc=mycorp,dc=com", "Blah")).thenThrow(AuthenticationException.class);
@@ -223,7 +231,7 @@ public class TestMetaStoreLdapAuthenticationProviderImpl {
 
     when(search.findUserDn("user3")).thenReturn("cn=user3,ou=PowerUsers,dc=mycorp,dc=com");
 
-    when(search.findGroupsForUser("cn=user3,ou=PowerUsers,dc=mycorp,dc=com"))
+    lenient().when(search.findGroupsForUser("cn=user3,ou=PowerUsers,dc=mycorp,dc=com"))
         .thenReturn(Arrays.asList(
             "cn=testGroup,ou=Groups,dc=mycorp,dc=com",
             "cn=group3,ou=Groups,dc=mycorp,dc=com"));
@@ -253,7 +261,7 @@ public class TestMetaStoreLdapAuthenticationProviderImpl {
         "(&(objectClass=person)(|(memberOf=CN=Domain Admins,CN=Users,DC=apache,DC=org)(memberOf=CN=Administrators,CN=Builtin,DC=apache,DC=org)))");
     MetastoreConf.setVar(conf, MetastoreConf.ConfVars.METASTORE_PLAIN_LDAP_USERFILTER, "user3");
 
-    when(search.findUserDn("user3")).thenReturn("cn=user3,ou=PowerUsers,dc=mycorp,dc=com");
+    lenient().when(search.findUserDn("user3")).thenReturn("cn=user3,ou=PowerUsers,dc=mycorp,dc=com");
     when(search.executeCustomQuery(anyString())).thenReturn(Arrays.asList(
         "cn=user1,ou=PowerUsers,dc=mycorp,dc=com",
         "cn=user2,ou=PowerUsers,dc=mycorp,dc=com"));
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestMsckCheckPartitions.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestMsckCheckPartitions.java
index 980423e..fdfc582 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestMsckCheckPartitions.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestMsckCheckPartitions.java
@@ -39,7 +39,7 @@ import java.util.Set;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestTableIterable.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestTableIterable.java
index f0d4427..71c4759 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestTableIterable.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestTableIterable.java
@@ -33,8 +33,8 @@ import org.apache.hadoop.hive.metastore.api.UnknownDBException;
 import org.apache.thrift.TException;
 
 import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.anyListOf;
-import static org.mockito.Matchers.anyString;
+import static org.mockito.ArgumentMatchers.anyListOf;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestChainFilter.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestChainFilter.java
index 5835007..257187c 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestChainFilter.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestChainFilter.java
@@ -25,7 +25,7 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import org.junit.Before;
 import org.mockito.Mock;
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestCustomQueryFilter.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestCustomQueryFilter.java
index ce8b1b7..76a1255 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestCustomQueryFilter.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestCustomQueryFilter.java
@@ -26,7 +26,7 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import org.junit.Before;
 import org.mockito.Mock;
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestGroupFilter.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestGroupFilter.java
index eef1f06..46ca315 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestGroupFilter.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestGroupFilter.java
@@ -26,7 +26,7 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import org.junit.Before;
 import org.mockito.Mock;
@@ -144,7 +144,8 @@ public class TestGroupFilter {
       throws AuthenticationException, NamingException, IOException {
     MetastoreConf.setVar(conf, MetastoreConf.ConfVars.METASTORE_PLAIN_LDAP_GROUPFILTER, "hiveusers,containsg1");
 
-    when(search.findGroupsForUser(eq("user1"))).thenReturn(Arrays.asList("SuperUsers", "Office1", "G1", "G2"));
+    lenient().when(search.findGroupsForUser(eq("user1")))
+        .thenReturn(Arrays.asList("SuperUsers", "Office1", "G1", "G2"));
 
     Filter filter = factory.getInstance(conf);
     filter.apply(search, "user1");
@@ -155,7 +156,8 @@ public class TestGroupFilter {
       throws AuthenticationException, NamingException, IOException {
     MetastoreConf.setVar(conf, MetastoreConf.ConfVars.METASTORE_PLAIN_LDAP_GROUPFILTER, "HiveUsers");
 
-    when(search.findGroupsForUser(eq("user1"))).thenReturn(Arrays.asList("SuperUsers", "Office1", "G1", "G2"));
+    lenient().when(search.findGroupsForUser(eq("user1")))
+        .thenReturn(Arrays.asList("SuperUsers", "Office1", "G1", "G2"));
 
     Filter filter = factory.getInstance(conf);
     filter.apply(search, "user1");
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestLdapSearch.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestLdapSearch.java
index df913db..92aef8c 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestLdapSearch.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestLdapSearch.java
@@ -34,7 +34,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import static org.junit.Assert.*;
 import static org.mockito.Mockito.*;
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestSearchResultHandler.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestSearchResultHandler.java
index 74022e9..041e2a1 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestSearchResultHandler.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestSearchResultHandler.java
@@ -28,7 +28,7 @@ import javax.naming.NamingException;
 import javax.naming.directory.SearchResult;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import static org.junit.Assert.*;
 import static org.mockito.Mockito.*;
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestUserFilter.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestUserFilter.java
index a79f0de..1ee46f4 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestUserFilter.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestUserFilter.java
@@ -25,7 +25,7 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import org.junit.Before;
 import org.mockito.Mock;
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestUserSearchFilter.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestUserSearchFilter.java
index bf182ec..ebeeb08 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestUserSearchFilter.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/ldap/TestUserSearchFilter.java
@@ -27,7 +27,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
 
 import static org.junit.Assert.*;
 import static org.mockito.Mockito.*;
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/tools/metatool/TestMetaToolTaskUpdateLocation.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/tools/metatool/TestMetaToolTaskUpdateLocation.java
index 63868b5..6b5d96f 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/tools/metatool/TestMetaToolTaskUpdateLocation.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/tools/metatool/TestMetaToolTaskUpdateLocation.java
@@ -18,7 +18,7 @@
 
 package org.apache.hadoop.hive.metastore.tools.metatool;
 
-import static org.mockito.Matchers.eq;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.when;
 
 import java.io.ByteArrayOutputStream;
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/tools/schematool/TestSchemaToolTaskDrop.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/tools/schematool/TestSchemaToolTaskDrop.java
index 271f83a..6a3b896 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/tools/schematool/TestSchemaToolTaskDrop.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/tools/schematool/TestSchemaToolTaskDrop.java
@@ -30,9 +30,9 @@ import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.Statement;
 
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyString;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/utils/TestHdfsUtils.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/utils/TestHdfsUtils.java
index de21fc5..e76f2b4 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/utils/TestHdfsUtils.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/utils/TestHdfsUtils.java
@@ -39,7 +39,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Random;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -222,7 +222,7 @@ public class TestHdfsUtils {
     doThrow(RuntimeException.class).when(fs).setOwner(any(Path.class), any(String.class), any(String.class));
 
     HdfsUtils.setFullFileStatus(conf, mockHadoopFileStatus, "fakeGroup2", fs, new Path("fakePath"), false);
-    verify(fs).setOwner(any(Path.class), any(String.class), any(String.class));
+    verify(fs).setOwner(any(Path.class), any(), any(String.class));
   }
 
   /**
@@ -320,7 +320,7 @@ public class TestHdfsUtils {
     doThrow(RuntimeException.class).when(mockFsShell).run(any(String[].class));
 
     HdfsUtils.setFullFileStatus(conf, mockHadoopFileStatus, "", mock(FileSystem.class), fakeTarget, true, mockFsShell);
-    verify(mockFsShell).run(new String[]{"-setfacl", "-R", "--set", any(String.class), fakeTarget.toString()});
+    verify(mockFsShell).run(new String[]{"-setfacl", "-R", "--set", any(), fakeTarget.toString()});
   }
 
   /**
@@ -343,6 +343,6 @@ public class TestHdfsUtils {
 
     HdfsUtils.setFullFileStatus(conf, mockHadoopFileStatus, "", mock(FileSystem.class), fakeTarget,
         true, mockFsShell);
-    verify(mockFsShell).run(new String[]{"-chmod", "-R", any(String.class), fakeTarget.toString()});
+    verify(mockFsShell).run(new String[]{"-chmod", "-R", any(), fakeTarget.toString()});
   }
 }
diff --git a/standalone-metastore/pom.xml b/standalone-metastore/pom.xml
index 0fa6389..b26e3b3 100644
--- a/standalone-metastore/pom.xml
+++ b/standalone-metastore/pom.xml
@@ -90,7 +90,7 @@
     <libfb303.version>0.9.3</libfb303.version>
     <libthrift.version>0.9.3-1</libthrift.version>
     <log4j2.version>2.12.1</log4j2.version>
-    <mockito-core.version>1.10.19</mockito-core.version>
+    <mockito-core.version>3.3.3</mockito-core.version>
     <orc.version>1.5.1</orc.version>
     <!-- com.google repo will be used except on Aarch64 platform. -->
     <protobuf.group>com.google.protobuf</protobuf.group>
diff --git a/testutils/ptest2/src/test/java/org/apache/hive/ptest/execution/context/TestCloudExecutionContextProvider.java b/testutils/ptest2/src/test/java/org/apache/hive/ptest/execution/context/TestCloudExecutionContextProvider.java
index 4985b7d..3fe89b0 100644
--- a/testutils/ptest2/src/test/java/org/apache/hive/ptest/execution/context/TestCloudExecutionContextProvider.java
+++ b/testutils/ptest2/src/test/java/org/apache/hive/ptest/execution/context/TestCloudExecutionContextProvider.java
@@ -18,7 +18,7 @@
  */
 package org.apache.hive.ptest.execution.context;
 
-import static org.mockito.Matchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;