You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by el...@apache.org on 2019/10/30 14:33:59 UTC

[phoenix] branch master updated: PHOENIX-5554 Synchronize @Parameters, @BeforeClass and @AfterClass methods

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 97953d1  PHOENIX-5554 Synchronize @Parameters, @BeforeClass and @AfterClass methods
97953d1 is described below

commit 97953d1c1b5a736a147f8f91630b61a7505fef5c
Author: Istvan Toth <st...@stoty.hu>
AuthorDate: Wed Oct 30 09:06:31 2019 +0100

    PHOENIX-5554 Synchronize @Parameters, @BeforeClass and @AfterClass methods
    
    adds the synchronized keyword to the mentioned methods
    
    Signed-off-by: Josh Elser <el...@apache.org>
---
 .../hadoop/hbase/regionserver/wal/WALRecoveryRegionPostOpenIT.java    | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/AggregateQueryIT.java      | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/AutoPartitionViewsIT.java  | 2 +-
 .../it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeIT.java    | 4 ++--
 phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseViewIT.java   | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/CaseStatementIT.java       | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/CastAndCoerceIT.java       | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/ConfigurableCacheIT.java   | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/ConnectionUtilIT.java      | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/ContextClassloaderIT.java  | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/CostBasedDecisionIT.java   | 2 +-
 .../java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java   | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/CsvBulkLoadToolIT.java     | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/DeleteIT.java     | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/DerivedTableIT.java        | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/DropSchemaIT.java | 4 ++--
 .../src/it/java/org/apache/phoenix/end2end/DropTableWithViewsIT.java  | 4 ++--
 .../it/java/org/apache/phoenix/end2end/DynamicColumnWildcardIT.java   | 2 +-
 .../org/apache/phoenix/end2end/ExplainPlanWithStatsEnabledIT.java     | 2 +-
 .../org/apache/phoenix/end2end/GlobalConnectionTenantTableIT.java     | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByIT.java    | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/InQueryIT.java    | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/IndexBuildTimestampIT.java | 4 ++--
 .../src/it/java/org/apache/phoenix/end2end/IndexExtendedIT.java       | 4 ++--
 .../src/it/java/org/apache/phoenix/end2end/IndexRebuildTaskIT.java    | 2 +-
 .../it/java/org/apache/phoenix/end2end/IndexScrutinyToolBaseIT.java   | 2 +-
 .../org/apache/phoenix/end2end/IndexToolForDeleteBeforeRebuildIT.java | 2 +-
 .../java/org/apache/phoenix/end2end/IndexToolForPartialBuildIT.java   | 2 +-
 .../end2end/IndexToolForPartialBuildWithNamespaceEnabledIT.java       | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolIT.java  | 4 ++--
 .../src/it/java/org/apache/phoenix/end2end/IntArithmeticIT.java       | 2 +-
 .../it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java    | 2 +-
 .../apache/phoenix/end2end/NotQueryWithGlobalImmutableIndexesIT.java  | 2 +-
 .../apache/phoenix/end2end/NotQueryWithLocalImmutableIndexesIT.java   | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/NullIT.java       | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/OnDuplicateKeyIT.java      | 2 +-
 .../phoenix/end2end/OrderByWithServerClientSpoolingDisabledIT.java    | 2 +-
 .../org/apache/phoenix/end2end/OrderByWithServerMemoryLimitIT.java    | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/OrderByWithSpillingIT.java | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/OrphanViewToolIT.java      | 4 ++--
 .../it/java/org/apache/phoenix/end2end/ParallelStatsDisabledIT.java   | 4 ++--
 .../it/java/org/apache/phoenix/end2end/ParallelStatsEnabledIT.java    | 2 +-
 .../org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java   | 2 +-
 .../apache/phoenix/end2end/PartialResultServerConfigurationIT.java    | 4 ++--
 .../it/java/org/apache/phoenix/end2end/PermissionNSDisabledIT.java    | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/PermissionNSEnabledIT.java | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/PermissionsCacheIT.java    | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/PhoenixDriverIT.java       | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/PointInTimeQueryIT.java    | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java      | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java         | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/QueryTimeoutIT.java        | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java      | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/QueryWithOffsetIT.java     | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/RangeScanIT.java  | 2 +-
 .../org/apache/phoenix/end2end/RebuildIndexConnectionPropsIT.java     | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/RegexBulkLoadToolIT.java   | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/RenewLeaseIT.java | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java        | 2 +-
 .../it/java/org/apache/phoenix/end2end/SequenceBulkAllocationIT.java  | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/SequencePointInTimeIT.java | 2 +-
 .../java/org/apache/phoenix/end2end/SetPropertyOnEncodedTableIT.java  | 2 +-
 .../org/apache/phoenix/end2end/SetPropertyOnNonEncodedTableIT.java    | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java    | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogIT.java  | 2 +-
 .../org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java  | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/StoreNullsIT.java | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/SystemCatalogIT.java       | 2 +-
 .../it/java/org/apache/phoenix/end2end/SystemCatalogUpgradeIT.java    | 2 +-
 .../org/apache/phoenix/end2end/TableSnapshotReadsMapReduceIT.java     | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java        | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/ToNumberFunctionIT.java    | 4 ++--
 .../src/it/java/org/apache/phoenix/end2end/TransactionalViewIT.java   | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/UngroupedIT.java  | 2 +-
 .../apache/phoenix/end2end/UpdateCacheAcrossDifferentClientsIT.java   | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/UpperLowerFunctionIT.java  | 2 +-
 .../it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java  | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java        | 2 +-
 .../it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java    | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java       | 4 ++--
 .../src/it/java/org/apache/phoenix/end2end/ViewMetadataIT.java        | 2 +-
 .../it/java/org/apache/phoenix/end2end/index/BaseLocalIndexIT.java    | 4 ++--
 .../src/it/java/org/apache/phoenix/end2end/index/DropColumnIT.java    | 2 +-
 .../org/apache/phoenix/end2end/index/GlobalImmutableNonTxIndexIT.java | 2 +-
 .../org/apache/phoenix/end2end/index/GlobalImmutableTxIndexIT.java    | 2 +-
 .../java/org/apache/phoenix/end2end/index/GlobalIndexCheckerIT.java   | 4 ++--
 .../org/apache/phoenix/end2end/index/GlobalMutableNonTxIndexIT.java   | 2 +-
 .../index/GlobalMutableNonTxIndexWithLazyPostBatchWriteIT.java        | 2 +-
 .../java/org/apache/phoenix/end2end/index/GlobalMutableTxIndexIT.java | 2 +-
 .../it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java    | 4 ++--
 .../phoenix/end2end/index/IndexRebuildIncrementDisableCountIT.java    | 2 +-
 .../org/apache/phoenix/end2end/index/LocalImmutableNonTxIndexIT.java  | 2 +-
 .../org/apache/phoenix/end2end/index/LocalImmutableTxIndexIT.java     | 2 +-
 .../org/apache/phoenix/end2end/index/LocalMutableNonTxIndexIT.java    | 2 +-
 .../java/org/apache/phoenix/end2end/index/LocalMutableTxIndexIT.java  | 2 +-
 .../java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java  | 4 ++--
 .../phoenix/end2end/index/MutableIndexFailureWithNamespaceIT.java     | 4 ++--
 .../src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java  | 2 +-
 .../org/apache/phoenix/end2end/index/MutableIndexReplicationIT.java   | 2 +-
 .../it/java/org/apache/phoenix/end2end/index/MutableIndexSplitIT.java | 2 +-
 .../org/apache/phoenix/end2end/index/PartialIndexRebuilderIT.java     | 2 +-
 .../org/apache/phoenix/end2end/index/PhoenixMRJobSubmitterIT.java     | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java     | 2 +-
 .../java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java  | 2 +-
 .../src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java  | 2 +-
 .../java/org/apache/phoenix/end2end/index/txn/TxWriteFailureIT.java   | 4 ++--
 .../java/org/apache/phoenix/end2end/join/HashJoinGlobalIndexIT.java   | 2 +-
 .../it/java/org/apache/phoenix/end2end/join/HashJoinLocalIndexIT.java | 2 +-
 .../it/java/org/apache/phoenix/end2end/join/HashJoinNoIndexIT.java    | 2 +-
 .../org/apache/phoenix/end2end/join/SortMergeJoinGlobalIndexIT.java   | 2 +-
 .../org/apache/phoenix/end2end/join/SortMergeJoinLocalIndexIT.java    | 2 +-
 .../java/org/apache/phoenix/end2end/join/SortMergeJoinNoIndexIT.java  | 2 +-
 .../org/apache/phoenix/end2end/join/SortMergeJoinNoSpoolingIT.java    | 4 ++--
 .../src/it/java/org/apache/phoenix/end2end/join/SubqueryIT.java       | 2 +-
 .../org/apache/phoenix/end2end/join/SubqueryUsingSortMergeJoinIT.java | 2 +-
 .../src/it/java/org/apache/phoenix/execute/PartialCommitIT.java       | 4 ++--
 .../org/apache/phoenix/execute/UpsertSelectOverlappingBatchesIT.java  | 4 ++--
 .../apache/phoenix/iterate/RoundRobinResultIteratorWithStatsIT.java   | 2 +-
 .../src/it/java/org/apache/phoenix/iterate/ScannerLeaseRenewalIT.java | 2 +-
 .../src/it/java/org/apache/phoenix/jdbc/SecureUserConnectionsIT.java  | 4 ++--
 .../it/java/org/apache/phoenix/monitoring/BasePhoenixMetricsIT.java   | 2 +-
 .../java/org/apache/phoenix/monitoring/PhoenixMetricsDisabledIT.java  | 2 +-
 .../src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java     | 2 +-
 .../org/apache/phoenix/replication/SystemCatalogWALEntryFilterIT.java | 4 ++--
 .../src/it/java/org/apache/phoenix/rpc/PhoenixClientRpcIT.java        | 4 ++--
 .../src/it/java/org/apache/phoenix/rpc/PhoenixServerRpcIT.java        | 2 +-
 .../it/java/org/apache/phoenix/schema/stats/BaseStatsCollectorIT.java | 2 +-
 .../apache/phoenix/schema/stats/NamespaceEnabledStatsCollectorIT.java | 2 +-
 .../it/java/org/apache/phoenix/schema/stats/NoOpStatsCollectorIT.java | 2 +-
 .../java/org/apache/phoenix/schema/stats/NonTxStatsCollectorIT.java   | 2 +-
 .../src/it/java/org/apache/phoenix/tx/FlappingTransactionIT.java      | 2 +-
 .../src/it/java/org/apache/phoenix/tx/ParameterizedTransactionIT.java | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java     | 2 +-
 phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java    | 2 +-
 .../hbase/regionserver/wal/ReadWriteKeyValuesWithCodecTest.java       | 2 +-
 .../test/java/org/apache/phoenix/compile/JoinQueryCompilerTest.java   | 2 +-
 .../test/java/org/apache/phoenix/compile/SaltedScanRangesTest.java    | 2 +-
 .../src/test/java/org/apache/phoenix/compile/ScanRangesTest.java      | 2 +-
 .../test/java/org/apache/phoenix/expression/MathTrigFunctionTest.java | 2 +-
 .../java/org/apache/phoenix/filter/SkipScanFilterIntersectTest.java   | 2 +-
 .../src/test/java/org/apache/phoenix/filter/SkipScanFilterTest.java   | 2 +-
 .../hbase/index/write/recovery/TestPerRegionIndexWriteCache.java      | 4 ++--
 .../src/test/java/org/apache/phoenix/index/IndexUpgradeToolTest.java  | 2 +-
 .../test/java/org/apache/phoenix/mapreduce/index/BaseIndexTest.java   | 2 +-
 .../java/org/apache/phoenix/query/BaseConnectionlessQueryTest.java    | 4 ++--
 .../src/test/java/org/apache/phoenix/query/ConnectionlessTest.java    | 2 +-
 .../src/test/java/org/apache/phoenix/query/KeyRangeClipTest.java      | 2 +-
 .../src/test/java/org/apache/phoenix/query/KeyRangeCoalesceTest.java  | 2 +-
 .../src/test/java/org/apache/phoenix/query/KeyRangeIntersectTest.java | 2 +-
 .../src/test/java/org/apache/phoenix/query/KeyRangeUnionTest.java     | 2 +-
 .../java/org/apache/phoenix/query/ParallelIteratorsSplitTest.java     | 2 +-
 .../java/org/apache/phoenix/schema/ImmutableStorageSchemeTest.java    | 2 +-
 .../src/test/java/org/apache/phoenix/trace/TraceSpanReceiverTest.java | 2 +-
 phoenix-core/src/test/java/org/apache/phoenix/util/ScanUtilTest.java  | 2 +-
 .../test/java/org/apache/phoenix/util/TenantIdByteConversionTest.java | 2 +-
 .../src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java        | 4 ++--
 .../src/test/java/org/apache/phoenix/pherf/ResultBaseTest.java        | 4 ++--
 159 files changed, 186 insertions(+), 186 deletions(-)

diff --git a/phoenix-core/src/it/java/org/apache/hadoop/hbase/regionserver/wal/WALRecoveryRegionPostOpenIT.java b/phoenix-core/src/it/java/org/apache/hadoop/hbase/regionserver/wal/WALRecoveryRegionPostOpenIT.java
index 16bd4c7..66ddba4 100644
--- a/phoenix-core/src/it/java/org/apache/hadoop/hbase/regionserver/wal/WALRecoveryRegionPostOpenIT.java
+++ b/phoenix-core/src/it/java/org/apache/hadoop/hbase/regionserver/wal/WALRecoveryRegionPostOpenIT.java
@@ -101,7 +101,7 @@ public class WALRecoveryRegionPostOpenIT extends BaseTest {
     private static volatile boolean failIndexTableWrite=false;
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(10);
         serverProps.put("hbase.coprocessor.region.classes", IndexTableFailingRegionObserver.class.getName());
         serverProps.put(Indexer.RecoveryFailurePolicyKeyForTesting, ReleaseLatchOnFailurePolicy.class.getName());
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AggregateQueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AggregateQueryIT.java
index bcfb922..da7cdf0 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AggregateQueryIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AggregateQueryIT.java
@@ -51,7 +51,7 @@ import org.junit.runners.Parameterized.Parameters;
 public class AggregateQueryIT extends BaseQueryIT {
 
     @Parameters(name="AggregateQueryIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         return BaseQueryIT.allIndexes();
     }
     
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java
index c2c02de..b2269c1 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java
@@ -102,7 +102,7 @@ public class AlterTableIT extends ParallelStatsDisabledIT {
     }
     
     @Parameters(name="AlterTableIT_columnEncoded={0}") // name is used by failsafe as file name in reports
-    public static Collection<Boolean> data() {
+    public static synchronized Collection<Boolean> data() {
         return Arrays.asList( false, true);
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
index c95707a..ed929aa 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
@@ -92,7 +92,7 @@ public class AlterTableWithViewsIT extends SplitSystemCatalogIT {
     
     // name is used by failsafe as file name in reports
     @Parameters(name = "AlterTableWithViewsIT_columnEncoded={0}, multiTenant={1}, salted={2}")
-    public static Collection<Boolean[]> data() {
+    public static synchronized Collection<Boolean[]> data() {
         return Arrays.asList(new Boolean[][] { { false, false, false }, { true, false, true },
                 { true, true, false }, { true, true, true } });
     }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AutoPartitionViewsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AutoPartitionViewsIT.java
index 5de41bf..ea7e4dc 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AutoPartitionViewsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AutoPartitionViewsIT.java
@@ -57,7 +57,7 @@ public class AutoPartitionViewsIT extends ParallelStatsDisabledIT {
             + "=tenant2";
 
     @Parameters(name = "AutoPartitionViewsIT_salted={0},multi-tenant={1}") // name is used by failsafe as file name in reports
-    public static Collection<Boolean[]> data() {
+    public static synchronized Collection<Boolean[]> data() {
         return Arrays.asList(new Boolean[][] { { false, false }, { false, true }, { true, false },
                 { true, true } });
     }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeIT.java
index 7439b1d..0f455fd 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeIT.java
@@ -53,12 +53,12 @@ public abstract class BaseHBaseManagedTimeIT extends BaseTest {
     }
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         setUpTestDriver(ReadOnlyProps.EMPTY_PROPS);
     }
     
     @AfterClass
-    public static void doTeardown() throws Exception {
+    public static synchronized void doTeardown() throws Exception {
         dropNonSystemTables();
     }
     
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseViewIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseViewIT.java
index 791f689..8bfe6da 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseViewIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseViewIT.java
@@ -73,7 +73,7 @@ public abstract class BaseViewIT extends ParallelStatsEnabledIT {
 	}
     
     @Parameters(name="transactionProvider={0}")
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] { {"TEPHRA"}, {"OMID"}, {null} }), 0);
     }
     
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CaseStatementIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CaseStatementIT.java
index 73dd0de..8eaa349 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CaseStatementIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CaseStatementIT.java
@@ -58,7 +58,7 @@ public class CaseStatementIT extends BaseQueryIT {
     }
     
     @Parameters(name="CaseStatementIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         return BaseQueryIT.allIndexes();
     }    
     
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CastAndCoerceIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CastAndCoerceIT.java
index 58699bf..20dd6ed 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CastAndCoerceIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CastAndCoerceIT.java
@@ -47,7 +47,7 @@ public class CastAndCoerceIT extends BaseQueryIT {
     }
     
     @Parameters(name="CastAndCoerceIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         return BaseQueryIT.allIndexes();
     }
     
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConfigurableCacheIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConfigurableCacheIT.java
index 4043052..b1758f1 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConfigurableCacheIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConfigurableCacheIT.java
@@ -35,7 +35,7 @@ public class ConfigurableCacheIT extends ParallelStatsEnabledIT {
     static String table;
 
     @BeforeClass
-    public static void initTables() throws Exception {
+    public static synchronized void initTables() throws Exception {
         table = generateUniqueName();
         // Use phoenix test driver for setup
         try (Connection conn = DriverManager.getConnection(getUrl())) {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionUtilIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionUtilIT.java
index 4841bcb..1937d05 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionUtilIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionUtilIT.java
@@ -42,7 +42,7 @@ public class ConnectionUtilIT {
     private static Configuration conf;
   
     @BeforeClass
-    public static void setUp() throws Exception {
+    public static synchronized void setUp() throws Exception {
         hbaseTestUtil = new HBaseTestingUtility();
         conf = hbaseTestUtil.getConfiguration();
         setUpConfigForMiniCluster(conf);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ContextClassloaderIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ContextClassloaderIT.java
index 8546231..ed0bd6c 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ContextClassloaderIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ContextClassloaderIT.java
@@ -54,7 +54,7 @@ public class ContextClassloaderIT  extends BaseTest {
     private static ClassLoader badContextClassloader;
 
     @BeforeClass
-    public static void setUpBeforeClass() throws Exception {
+    public static synchronized void setUpBeforeClass() throws Exception {
         Configuration conf = HBaseConfiguration.create();
         setUpConfigForMiniCluster(conf);
         hbaseTestUtil = new HBaseTestingUtility(conf);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CostBasedDecisionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CostBasedDecisionIT.java
index 493855a..d4b3422 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CostBasedDecisionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CostBasedDecisionIT.java
@@ -44,7 +44,7 @@ public class CostBasedDecisionIT extends BaseUniqueNamesOwnClusterIT {
     private final String testTable1000;
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(1);
         props.put(QueryServices.STATS_GUIDEPOST_WIDTH_BYTES_ATTRIB, Long.toString(20));
         props.put(QueryServices.STATS_UPDATE_FREQ_MS_ATTRIB, Long.toString(5));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
index db4542e..3679713 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java
@@ -41,7 +41,7 @@ import com.google.common.collect.Maps;
 
 public class CountDistinctCompressionIT extends BaseUniqueNamesOwnClusterIT {
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(3);
         // Must update config before starting server
         props.put(QueryServices.DISTINCT_VALUE_COMPRESS_THRESHOLD_ATTRIB, Long.toString(1));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CsvBulkLoadToolIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CsvBulkLoadToolIT.java
index b301263..6f10d71 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CsvBulkLoadToolIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CsvBulkLoadToolIT.java
@@ -56,7 +56,7 @@ public class CsvBulkLoadToolIT extends BaseOwnClusterIT {
     private static String zkQuorum;
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> clientProps = Maps.newHashMapWithExpectedSize(1);
         clientProps.put(QueryServices.INDEX_REGION_OBSERVER_ENABLED_ATTRIB, Boolean.FALSE.toString());
         setUpTestDriver(ReadOnlyProps.EMPTY_PROPS, new ReadOnlyProps(clientProps.entrySet().iterator()));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DeleteIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DeleteIT.java
index 505a5ae..0bb201c 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DeleteIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DeleteIT.java
@@ -56,7 +56,7 @@ public class DeleteIT extends ParallelStatsDisabledIT {
     }
 
     @Parameters(name="DeleteIT_allowServerSideMutations={0}") // name is used by failsafe as file name in reports
-    public static Object[] data() {
+    public static synchronized Object[] data() {
         return new Object[] {"true", "false"};
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DerivedTableIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DerivedTableIT.java
index 76d206d..979887f 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DerivedTableIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DerivedTableIT.java
@@ -106,7 +106,7 @@ public class DerivedTableIT extends ParallelStatsDisabledIT {
     }
 
     @Parameters(name="DerivedTableIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         testCases.add(new String[][] {
                 {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropSchemaIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropSchemaIT.java
index 97ab29a..26af716 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropSchemaIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropSchemaIT.java
@@ -55,7 +55,7 @@ public class DropSchemaIT extends BaseUniqueNamesOwnClusterIT {
     }
 
     @BeforeClass 
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String,String> props = Maps.newHashMapWithExpectedSize(1);
         // Drop the HBase table metadata for this test
         props.put(QueryServices.DROP_METADATA_ATTRIB, Boolean.toString(true));
@@ -65,7 +65,7 @@ public class DropSchemaIT extends BaseUniqueNamesOwnClusterIT {
 
 
     @Parameters(name = "DropSchemaIT_schema={0}") // name is used by failsafe as file name in reports
-    public static Collection<String> data() {
+    public static synchronized Collection<String> data() {
         return Arrays.asList(generateUniqueName().toUpperCase(), "\"" + generateUniqueName().toLowerCase() + "\"");
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropTableWithViewsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropTableWithViewsIT.java
index 2589fa3..28b9d2a 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropTableWithViewsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DropTableWithViewsIT.java
@@ -58,7 +58,7 @@ public class DropTableWithViewsIT extends SplitSystemCatalogIT {
     private static RegionCoprocessorEnvironment TaskRegionEnvironment;
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         SplitSystemCatalogIT.doSetup();
         TaskRegionEnvironment =
                 getUtility()
@@ -75,7 +75,7 @@ public class DropTableWithViewsIT extends SplitSystemCatalogIT {
     }
 
     @Parameters(name="DropTableWithViewsIT_multiTenant={0}, columnEncoded={1}") // name is used by failsafe as file name in reports
-    public static Collection<Boolean[]> data() {
+    public static synchronized Collection<Boolean[]> data() {
         return Arrays.asList(new Boolean[][] {
                 { false, false }, { false, true },
                 { true, false }, { true, true } });
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicColumnWildcardIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicColumnWildcardIT.java
index 39a703b..fe05c05 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicColumnWildcardIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicColumnWildcardIT.java
@@ -70,7 +70,7 @@ public class DynamicColumnWildcardIT extends BaseTest {
     }
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> clientProps = Maps.newHashMapWithExpectedSize(1);
         clientProps.put(WILDCARD_QUERY_DYNAMIC_COLS_ATTRIB, "true");
         setUpTestDriver(ReadOnlyProps.EMPTY_PROPS, new ReadOnlyProps(clientProps));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExplainPlanWithStatsEnabledIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExplainPlanWithStatsEnabledIT.java
index 261c061..40f3d85 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExplainPlanWithStatsEnabledIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExplainPlanWithStatsEnabledIT.java
@@ -65,7 +65,7 @@ public class ExplainPlanWithStatsEnabledIT extends ParallelStatsEnabledIT {
     private static final long largeGpWidth = 2 * 1000 * 1000L;
 
     @BeforeClass
-    public static void createTables() throws Exception {
+    public static synchronized void createTables() throws Exception {
         tableA = generateUniqueName();
         initDataAndStats(tableA, 20L);
         tableB = generateUniqueName();
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/GlobalConnectionTenantTableIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/GlobalConnectionTenantTableIT.java
index d0c890c..e7f9ea9 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/GlobalConnectionTenantTableIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/GlobalConnectionTenantTableIT.java
@@ -52,7 +52,7 @@ public class GlobalConnectionTenantTableIT extends BaseTest {
     private static final String FULL_INDEX_NAME = SchemaUtil.getTableName(SCHEMA_NAME, INDEX_NAME);
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(1);
         setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
         createBaseTable(SCHEMA_NAME, TABLE_NAME, true, null, null);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByIT.java
index f4ff9dc..2063723 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByIT.java
@@ -57,7 +57,7 @@ public class GroupByIT extends BaseQueryIT {
     }
     
     @Parameters(name="GroupByIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         return BaseQueryIT.allIndexes();
     }
     
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InQueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InQueryIT.java
index 537fe19..45122e8 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InQueryIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InQueryIT.java
@@ -56,7 +56,7 @@ public class InQueryIT extends BaseQueryIT {
     }
 
     @Parameters(name="InQueryIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         return BaseQueryIT.allIndexes();
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexBuildTimestampIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexBuildTimestampIT.java
index e39a81f..591efd5 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexBuildTimestampIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexBuildTimestampIT.java
@@ -69,13 +69,13 @@ public class IndexBuildTimestampIT extends BaseUniqueNamesOwnClusterIT {
     }
 
     @BeforeClass
-    public static void setup() throws Exception {
+    public static synchronized void setup() throws Exception {
         IndexToolIT.setup();
     }
 
     @Parameters(
             name = "mutable={0},localIndex={1},async={2},view={3}")
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         List<Object[]> list = Lists.newArrayListWithExpectedSize(16);
         boolean[] Booleans = new boolean[]{false, true};
         for (boolean mutable : Booleans) {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexExtendedIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexExtendedIT.java
index 052a70e..2e6704e 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexExtendedIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexExtendedIT.java
@@ -76,7 +76,7 @@ public class IndexExtendedIT extends BaseTest {
     }
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(2);
         serverProps.put(QueryServices.EXTRA_JDBC_ARGUMENTS_ATTRIB, QueryServicesOptions.DEFAULT_EXTRA_JDBC_ARGUMENTS);
         Map<String, String> clientProps = Maps.newHashMapWithExpectedSize(2);
@@ -87,7 +87,7 @@ public class IndexExtendedIT extends BaseTest {
     }
     
     @Parameters(name="mutable = {0} , localIndex = {1}, directApi = {2}, useSnapshot = {3}")
-    public static Collection<Boolean[]> data() {
+    public static synchronized Collection<Boolean[]> data() {
         List<Boolean[]> list = Lists.newArrayListWithExpectedSize(10);
         boolean[] Booleans = new boolean[]{false, true};
         for (boolean mutable : Booleans ) {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexRebuildTaskIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexRebuildTaskIT.java
index fc514ef..86411c1 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexRebuildTaskIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexRebuildTaskIT.java
@@ -56,7 +56,7 @@ public class IndexRebuildTaskIT extends BaseUniqueNamesOwnClusterIT {
     private static RegionCoprocessorEnvironment TaskRegionEnvironment;
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         HashMap<String, String> props = new HashMap<>();
         setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
         TaskRegionEnvironment =
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexScrutinyToolBaseIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexScrutinyToolBaseIT.java
index 9536a12..9f368a8 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexScrutinyToolBaseIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexScrutinyToolBaseIT.java
@@ -41,7 +41,7 @@ import static org.junit.Assert.assertTrue;
 public class IndexScrutinyToolBaseIT extends BaseTest {
     protected String outputDir;
 
-    @BeforeClass public static void doSetup() throws Exception {
+    @BeforeClass public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMap();
         //disable major compactions
         serverProps.put(HConstants.MAJOR_COMPACTION_PERIOD, "0");
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForDeleteBeforeRebuildIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForDeleteBeforeRebuildIT.java
index abc0baf..9d393cf 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForDeleteBeforeRebuildIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForDeleteBeforeRebuildIT.java
@@ -71,7 +71,7 @@ public class IndexToolForDeleteBeforeRebuildIT extends ParallelStatsDisabledIT {
     private static final String UPSERT_SQL = "UPSERT INTO %s VALUES(?,?,?,?)";
 
     @BeforeClass
-    public static void setup() throws Exception {
+    public static synchronized void setup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(3);
         serverProps.put(QueryServices.STATS_GUIDEPOST_WIDTH_BYTES_ATTRIB, Long.toString(20));
         serverProps.put(QueryServices.MAX_SERVER_METADATA_CACHE_TIME_TO_LIVE_MS_ATTRIB, Long.toString(5));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForPartialBuildIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForPartialBuildIT.java
index a0956f2..50515b1 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForPartialBuildIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForPartialBuildIT.java
@@ -89,7 +89,7 @@ public class IndexToolForPartialBuildIT extends BaseOwnClusterIT {
     }
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = getServerProperties();
         setUpTestDriver(new ReadOnlyProps(serverProps.entrySet().iterator()), ReadOnlyProps.EMPTY_PROPS);
     }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForPartialBuildWithNamespaceEnabledIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForPartialBuildWithNamespaceEnabledIT.java
index 02c2d93..7925180 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForPartialBuildWithNamespaceEnabledIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolForPartialBuildWithNamespaceEnabledIT.java
@@ -53,7 +53,7 @@ public class IndexToolForPartialBuildWithNamespaceEnabledIT extends IndexToolFor
     }
     
     @Parameters(name="isNamespaceEnabled = {0}")
-    public static Collection<Boolean[]> data() {
+    public static synchronized Collection<Boolean[]> data() {
         return Arrays.asList(new Boolean[][] {     
                  { true },{ false }
            });
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolIT.java
index c59b9dc..de13833 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexToolIT.java
@@ -113,7 +113,7 @@ public class IndexToolIT extends BaseUniqueNamesOwnClusterIT {
     }
 
     @BeforeClass
-    public static void setup() throws Exception {
+    public static synchronized void setup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(2);
         serverProps.put(QueryServices.STATS_GUIDEPOST_WIDTH_BYTES_ATTRIB, Long.toString(20));
         serverProps.put(QueryServices.MAX_SERVER_METADATA_CACHE_TIME_TO_LIVE_MS_ATTRIB, Long.toString(5));
@@ -131,7 +131,7 @@ public class IndexToolIT extends BaseUniqueNamesOwnClusterIT {
 
     @Parameters(
             name = "transactionProvider={0},mutable={1},localIndex={2},directApi={3},useSnapshot={4}")
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         List<Object[]> list = Lists.newArrayListWithExpectedSize(48);
         boolean[] Booleans = new boolean[] { false, true };
         for (String transactionProvider : new String[] {"TEPHRA", "OMID", null}) {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IntArithmeticIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IntArithmeticIT.java
index 008af64..b0b1fb8 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IntArithmeticIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IntArithmeticIT.java
@@ -52,7 +52,7 @@ public class IntArithmeticIT extends BaseQueryIT {
     }
     
     @Parameters(name="IntArithmeticIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         return BaseQueryIT.allIndexes();
     }
     
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
index 6d2f6d5..ecfff6b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LocalIndexSplitMergeIT.java
@@ -55,7 +55,7 @@ import com.google.common.collect.Maps;
 public class LocalIndexSplitMergeIT extends BaseTest {
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(2);
         serverProps.put(QueryServices.EXTRA_JDBC_ARGUMENTS_ATTRIB,
             QueryServicesOptions.DEFAULT_EXTRA_JDBC_ARGUMENTS);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/NotQueryWithGlobalImmutableIndexesIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/NotQueryWithGlobalImmutableIndexesIT.java
index 1c189eb..0ea6bfc 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/NotQueryWithGlobalImmutableIndexesIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/NotQueryWithGlobalImmutableIndexesIT.java
@@ -31,7 +31,7 @@ public class NotQueryWithGlobalImmutableIndexesIT extends NotQueryIT {
     }
 
     @Parameters(name = "globalIndexDDL={0}")
-    public static Collection<Object> globalIndexes() {
+    public static synchronized Collection<Object> globalIndexes() {
         List<Object> testCases = Lists.newArrayList();
         for (String indexDDL : GLOBAL_INDEX_DDLS) {
             testCases.add(new Object[] { indexDDL, false });
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/NotQueryWithLocalImmutableIndexesIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/NotQueryWithLocalImmutableIndexesIT.java
index 30fa9ed..508bc56 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/NotQueryWithLocalImmutableIndexesIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/NotQueryWithLocalImmutableIndexesIT.java
@@ -31,7 +31,7 @@ public class NotQueryWithLocalImmutableIndexesIT extends NotQueryIT {
     }
 
     @Parameters(name = "localIndexDDL={0}")
-    public static Collection<Object> localIndexes() {
+    public static synchronized Collection<Object> localIndexes() {
         List<Object> testCases = Lists.newArrayList();
         for (String indexDDL : LOCAL_INDEX_DDLS) {
             testCases.add(new Object[] { indexDDL, false });
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/NullIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/NullIT.java
index 540ff82..b27dfd2 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/NullIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/NullIT.java
@@ -50,7 +50,7 @@ import com.google.common.collect.Lists;
 public class NullIT extends BaseQueryIT {
     
     @Parameters(name="NullIT_{index},columnEncoded={1}")
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         for (String indexDDL : INDEX_DDLS) {
             for (boolean columnEncoded : new boolean[]{false,true}) {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/OnDuplicateKeyIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/OnDuplicateKeyIT.java
index 4782e57..f8630a1 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/OnDuplicateKeyIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/OnDuplicateKeyIT.java
@@ -53,7 +53,7 @@ public class OnDuplicateKeyIT extends ParallelStatsDisabledIT {
     }
     
     @Parameters
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         testCases.add(new String[] {
                 "",
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithServerClientSpoolingDisabledIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithServerClientSpoolingDisabledIT.java
index 70a27bd..b25d624 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithServerClientSpoolingDisabledIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithServerClientSpoolingDisabledIT.java
@@ -35,7 +35,7 @@ import com.google.common.collect.Maps;
 public class OrderByWithServerClientSpoolingDisabledIT extends OrderByIT {
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(1);
         // make sure disabling server side spooling has no affect on correctness(existing orderby
         // IT)
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithServerMemoryLimitIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithServerMemoryLimitIT.java
index 03f6e6e..c637cda 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithServerMemoryLimitIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithServerMemoryLimitIT.java
@@ -37,7 +37,7 @@ import com.google.common.collect.Maps;
 public class OrderByWithServerMemoryLimitIT extends BaseTest {
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(1);
         props.put(QueryServices.SERVER_SPOOL_THRESHOLD_BYTES_ATTRIB, Integer.toString(1));
         props.put(QueryServices.SERVER_ORDERBY_SPOOLING_ENABLED_ATTRIB,
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithSpillingIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithSpillingIT.java
index d3eb3f5..0d4ed47 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithSpillingIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByWithSpillingIT.java
@@ -29,7 +29,7 @@ import com.google.common.collect.Maps;
 @Category(NeedsOwnMiniClusterTest.class)
 public class OrderByWithSpillingIT extends OrderByIT {
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(1);
         // do lot's of spooling!
         props.put(QueryServices.SERVER_SPOOL_THRESHOLD_BYTES_ATTRIB, Integer.toString(1));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrphanViewToolIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrphanViewToolIT.java
index 32ec586..80ded60 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrphanViewToolIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrphanViewToolIT.java
@@ -122,12 +122,12 @@ public class OrphanViewToolIT extends ParallelStatsDisabledIT {
     }
 
     @Parameters(name="OrphanViewToolIT_multiTenant={0}") // name is used by failsafe as file name in reports
-    public static Collection<Boolean> data() {
+    public static synchronized Collection<Boolean> data() {
         return Arrays.asList(false, true);
     }
 
     @AfterClass
-    public static void cleanUp() {
+    public static synchronized void cleanUp() {
         for (int i = OrphanViewTool.VIEW; i < OrphanViewTool.ORPHAN_TYPE_COUNT; i++) {
             File file = new File(filePath + OrphanViewTool.fileName[i]);
             if (file.exists()) {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelStatsDisabledIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelStatsDisabledIT.java
index 5b1532b..08a6ed2 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelStatsDisabledIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelStatsDisabledIT.java
@@ -55,13 +55,13 @@ import static org.junit.Assert.fail;
 public abstract class ParallelStatsDisabledIT extends BaseTest {
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(1);
         setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
     }
 
     @AfterClass
-    public static void freeResources() throws Exception {
+    public static synchronized void freeResources() throws Exception {
         BaseTest.freeResourcesIfBeyondThreshold();
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelStatsEnabledIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelStatsEnabledIT.java
index eabdfbf..df576af 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelStatsEnabledIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelStatsEnabledIT.java
@@ -61,7 +61,7 @@ public abstract class ParallelStatsEnabledIT extends BaseTest {
     }
 
     @AfterClass
-    public static void freeResources() throws Exception {
+    public static synchronized void freeResources() throws Exception {
         BaseTest.freeResourcesIfBeyondThreshold();
     }
 }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
index c8b03dd..858949f 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParameterizedIndexUpgradeToolIT.java
@@ -244,7 +244,7 @@ public class ParameterizedIndexUpgradeToolIT extends BaseTest {
     }
 
     @Parameters(name ="IndexUpgradeToolIT_mutable={0},upgrade={1},isNamespaceEnabled={2}")
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return Arrays.asList(new Object[][] {
             {false, false, true},
             {true, false, false},
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PartialResultServerConfigurationIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PartialResultServerConfigurationIT.java
index 1c9ac38..d529f6e 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PartialResultServerConfigurationIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PartialResultServerConfigurationIT.java
@@ -63,7 +63,7 @@ public class PartialResultServerConfigurationIT {
     private static String url;
 
     @BeforeClass
-    public static void setUp() throws Exception {
+    public static synchronized void setUp() throws Exception {
         Configuration conf = HBaseConfiguration.create();
         hbaseTestUtil = new HBaseTestingUtility(conf);
         setUpConfigForMiniCluster(conf);
@@ -80,7 +80,7 @@ public class PartialResultServerConfigurationIT {
     }
 
     @AfterClass
-    public static void tearDownAfterClass() throws Exception {
+    public static synchronized void tearDownAfterClass() throws Exception {
         try {
             DriverManager.deregisterDriver(PhoenixDriver.INSTANCE);
         } finally {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PermissionNSDisabledIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PermissionNSDisabledIT.java
index 44fa227..a30b0b0 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PermissionNSDisabledIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PermissionNSDisabledIT.java
@@ -26,7 +26,7 @@ public class PermissionNSDisabledIT extends BasePermissionsIT {
     }
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         BasePermissionsIT.initCluster(false);
     }
 }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PermissionNSEnabledIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PermissionNSEnabledIT.java
index e6db38f..964d87e 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PermissionNSEnabledIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PermissionNSEnabledIT.java
@@ -45,7 +45,7 @@ public class PermissionNSEnabledIT extends BasePermissionsIT {
     }
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         BasePermissionsIT.initCluster(true);
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PermissionsCacheIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PermissionsCacheIT.java
index 8d0c694..5703178 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PermissionsCacheIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PermissionsCacheIT.java
@@ -45,7 +45,7 @@ public class PermissionsCacheIT extends BasePermissionsIT {
 	}
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         BasePermissionsIT.initCluster(true);
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixDriverIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixDriverIT.java
index 255a8b2..39daf05 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixDriverIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixDriverIT.java
@@ -59,7 +59,7 @@ public class PhoenixDriverIT extends BaseUniqueNamesOwnClusterIT {
     private static String zkQuorum;
     
     @BeforeClass
-    public static void setUp() throws Exception {
+    public static synchronized void setUp() throws Exception {
         Configuration conf = HBaseConfiguration.create();
         hbaseTestUtil = new HBaseTestingUtility(conf);
         setUpConfigForMiniCluster(conf);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PointInTimeQueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PointInTimeQueryIT.java
index c53e523..51f4fe0 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PointInTimeQueryIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PointInTimeQueryIT.java
@@ -50,7 +50,7 @@ import com.google.common.collect.Lists;
 public class PointInTimeQueryIT extends BaseQueryIT {
 
     @Parameters(name="PointInTimeQueryIT_{index},columnEncoded={1}")
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         for (String indexDDL : INDEX_DDLS) {
             for (boolean columnEncoded : new boolean[]{false,true}) {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java
index 718fe95..2609ef0 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java
@@ -49,7 +49,7 @@ import org.junit.runners.Parameterized.Parameters;
 public class QueryIT extends BaseQueryIT {
     
     @Parameters(name="QueryIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         return BaseQueryIT.allIndexes();
     }    
     
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
index 8a08d37..499dcbc 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryLoggerIT.java
@@ -69,7 +69,7 @@ public class QueryLoggerIT extends BaseUniqueNamesOwnClusterIT {
 
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(1);
         // Enable request metric collection at the driver level
         props.put(QueryServices.COLLECT_REQUEST_LEVEL_METRICS, String.valueOf(true));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryTimeoutIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryTimeoutIT.java
index 03af042..ec2dc67 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryTimeoutIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryTimeoutIT.java
@@ -58,7 +58,7 @@ public class QueryTimeoutIT extends BaseUniqueNamesOwnClusterIT {
     }
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String,String> props = Maps.newHashMapWithExpectedSize(5);
         // Must update config before starting server
         props.put(QueryServices.STATS_GUIDEPOST_WIDTH_BYTES_ATTRIB, Long.toString(700));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java
index 460b22f..ae3fa86 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java
@@ -54,7 +54,7 @@ public class QueryWithLimitIT extends BaseUniqueNamesOwnClusterIT {
     
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String,String> props = Maps.newHashMapWithExpectedSize(3);
         // Must update config before starting server
         props.put(QueryServices.STATS_GUIDEPOST_WIDTH_BYTES_ATTRIB, Long.toString(50));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithOffsetIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithOffsetIT.java
index aff22af..7374c8e 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithOffsetIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithOffsetIT.java
@@ -71,7 +71,7 @@ public class QueryWithOffsetIT extends ParallelStatsDisabledIT {
     }
 
     @Parameters(name="preSplit = {0}")
-    public static Collection<String> data() {
+    public static synchronized Collection<String> data() {
         return Arrays.asList(new String[] { " SPLIT ON ('e','i','o')", " SALT_BUCKETS=10" });
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RangeScanIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RangeScanIT.java
index fac8647..815e6e7 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RangeScanIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RangeScanIT.java
@@ -52,7 +52,7 @@ import org.junit.runners.Parameterized.Parameters;
 public class RangeScanIT extends BaseQueryIT {
     
     @Parameters(name="RangeScanIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         return BaseQueryIT.allIndexes();
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RebuildIndexConnectionPropsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RebuildIndexConnectionPropsIT.java
index 363b657..2d314d6 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RebuildIndexConnectionPropsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RebuildIndexConnectionPropsIT.java
@@ -53,7 +53,7 @@ public class RebuildIndexConnectionPropsIT extends BaseUniqueNamesOwnClusterIT {
     private static int NUM_RPC_RETRIES = 1;
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Configuration conf = HBaseConfiguration.create();
         hbaseTestUtil = new HBaseTestingUtility(conf);
         Map<String, String> serverProps = new HashMap<>();
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexBulkLoadToolIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexBulkLoadToolIT.java
index 2b2918a..a0efbfd 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexBulkLoadToolIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexBulkLoadToolIT.java
@@ -49,7 +49,7 @@ public class RegexBulkLoadToolIT extends BaseOwnClusterIT {
     private static String zkQuorum;
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         setUpTestDriver(ReadOnlyProps.EMPTY_PROPS);
         zkQuorum = TestUtil.LOCALHOST + PhoenixRuntime.JDBC_PROTOCOL_SEPARATOR + getUtility().getZkCluster().getClientPort();
         conn = DriverManager.getConnection(getUrl());
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RenewLeaseIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RenewLeaseIT.java
index 726f24b..cfb8d21 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RenewLeaseIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RenewLeaseIT.java
@@ -49,7 +49,7 @@ public class RenewLeaseIT extends BaseUniqueNamesOwnClusterIT {
     private final static String TABLE_NAME = generateUniqueName();
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(1);
         serverProps.put("hbase.coprocessor.region.classes", SleepingRegionObserver.class.getName());
         Map<String,String> clientProps = Maps.newHashMapWithExpectedSize(1);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java
index e873fdf..4bd823e 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowTimestampIT.java
@@ -69,7 +69,7 @@ public class RowTimestampIT extends ParallelStatsDisabledIT {
 
     // name is used by failsafe as file name in reports
     @Parameters(name = "RowTimestampIT_mutable={0},ascending={1}")
-    public static Collection<Boolean[]> data() {
+    public static synchronized Collection<Boolean[]> data() {
         return Arrays.asList(
             new Boolean[][] { { false, false }, { false, true }, { true, false }, { true, true } });
     }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceBulkAllocationIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceBulkAllocationIT.java
index e517401..d31c354 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceBulkAllocationIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequenceBulkAllocationIT.java
@@ -76,7 +76,7 @@ public class SequenceBulkAllocationIT extends ParallelStatsDisabledIT {
     }
     
     @Parameters(name="SequenceBulkAllocationIT_tenantId={0}") // name is used by failsafe as file name in reports
-    public static Object[] data() {
+    public static synchronized Object[] data() {
         return new Object[] {null, "tenant1"};
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequencePointInTimeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequencePointInTimeIT.java
index 3608901..921bc06 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequencePointInTimeIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SequencePointInTimeIT.java
@@ -49,7 +49,7 @@ public class SequencePointInTimeIT extends BaseUniqueNamesOwnClusterIT {
         return SchemaUtil.getTableName(SCHEMA_NAME, generateUniqueSequenceName());
     }
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String,String> props = Maps.newHashMapWithExpectedSize(5);
         // Must update config before starting server
         props.put(QueryServices.DEFAULT_SYSTEM_KEEP_DELETED_CELLS_ATTRIB, Boolean.TRUE.toString());
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SetPropertyOnEncodedTableIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SetPropertyOnEncodedTableIT.java
index 77b9b79..84b323d 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SetPropertyOnEncodedTableIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SetPropertyOnEncodedTableIT.java
@@ -28,7 +28,7 @@ public class SetPropertyOnEncodedTableIT extends SetPropertyIT {
     }
 
     @Parameters(name="SetPropertyOnEncodedTableIT") // name is used by failsafe as file name in reports
-    public static Collection<Boolean> data() {
+    public static synchronized Collection<Boolean> data() {
         return Arrays.asList( true);
     }
 }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SetPropertyOnNonEncodedTableIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SetPropertyOnNonEncodedTableIT.java
index 26626d5..b7f3d4b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SetPropertyOnNonEncodedTableIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SetPropertyOnNonEncodedTableIT.java
@@ -28,7 +28,7 @@ public class SetPropertyOnNonEncodedTableIT extends SetPropertyIT {
     }
 
     @Parameters(name="SetPropertyOnNonEncodedTableIT") // name is used by failsafe as file name in reports
-    public static Collection<Boolean> data() {
+    public static synchronized Collection<Boolean> data() {
         return Arrays.asList( false );
     }
 }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java
index 340760b..b2733e5 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java
@@ -64,7 +64,7 @@ public class SpillableGroupByIT extends BaseOwnClusterIT {
     private int id;
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(11);
         // Set a very small cache size to force plenty of spilling
         props.put(QueryServices.GROUPBY_MAX_CACHE_SIZE_ATTRIB,
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogIT.java
index 51d3b86..673c632 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SplitSystemCatalogIT.java
@@ -50,7 +50,7 @@ public class SplitSystemCatalogIT extends BaseTest {
     protected static String TENANT2 = "tenant2";
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         NUM_SLAVES_BASE = 6;
         Map<String, String> props = Collections.emptyMap();
         boolean splitSystemCatalog = (driver == null);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
index 9665fb6..104df02 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StatsEnabledSplitSystemCatalogIT.java
@@ -83,7 +83,7 @@ public class StatsEnabledSplitSystemCatalogIT extends BaseUniqueNamesOwnClusterI
 	}
 	
 	@BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         NUM_SLAVES_BASE = 3;
         Map<String, String> props = Maps.newHashMapWithExpectedSize(1);
         props.put(QueryServices.STATS_GUIDEPOST_WIDTH_BYTES_ATTRIB, Long.toString(20));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StoreNullsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StoreNullsIT.java
index 0f23dac..eaf36a4 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StoreNullsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StoreNullsIT.java
@@ -101,7 +101,7 @@ public class StoreNullsIT extends ParallelStatsDisabledIT {
     }
     
     @Parameters(name="StoreNullsIT_mutable={0}, columnEncoded={1}, storeNulls={2}") // name is used by failsafe as file name in reports
-    public static Collection<Boolean[]> data() {
+    public static synchronized Collection<Boolean[]> data() {
         return Arrays.asList(new Boolean[][] { 
                 { false, false, false }, { false, false, true },
                 { false, true, false }, { false, true, true },
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogIT.java
index cf7dcc2..66d4777 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogIT.java
@@ -49,7 +49,7 @@ public class SystemCatalogIT extends BaseTest {
     private HBaseTestingUtility testUtil = null;
 
 	@BeforeClass
-	public static void doSetup() throws Exception {
+	public static synchronized void doSetup() throws Exception {
 		Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(1);
 		serverProps.put(QueryServices.SYSTEM_CATALOG_SPLITTABLE, "false");
         serverProps.put(QueryServices.ALLOW_SPLITTABLE_SYSTEM_CATALOG_ROLLBACK, "true");
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogUpgradeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogUpgradeIT.java
index e5b1d6e..3fcef36 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogUpgradeIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SystemCatalogUpgradeIT.java
@@ -94,7 +94,7 @@ public class SystemCatalogUpgradeIT extends BaseTest {
     }
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newConcurrentMap();
         props.put(BaseTest.DRIVER_CLASS_NAME_ATTRIB, PhoenixUpgradeCountingDriver.class.getName());
         setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TableSnapshotReadsMapReduceIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TableSnapshotReadsMapReduceIT.java
index 90e7b09..4664883 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TableSnapshotReadsMapReduceIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TableSnapshotReadsMapReduceIT.java
@@ -79,7 +79,7 @@ public class TableSnapshotReadsMapReduceIT extends BaseUniqueNamesOwnClusterIT {
   private Configuration conf;
 
   @BeforeClass
-  public static void doSetup() throws Exception {
+  public static synchronized void doSetup() throws Exception {
       Map<String,String> props = Maps.newHashMapWithExpectedSize(1);
       setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
   }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java
index a0c13a9..9fffb23 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java
@@ -87,7 +87,7 @@ public class TenantIdTypeIT extends ParallelStatsDisabledIT {
     }
 
     @Parameters( name = "TenantIdTypeIT_datatype={0}" ) // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         List<Object[]> testCases = Lists.newArrayList();
         testCases.add(new Object[] { "INTEGER", "2147483647", "2147483646" });
         testCases.add(new Object[] { "UNSIGNED_INT", "2147483647", "2147483646" });
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToNumberFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToNumberFunctionIT.java
index 3d025b6..a1e5b36 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToNumberFunctionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToNumberFunctionIT.java
@@ -69,14 +69,14 @@ public class ToNumberFunctionIT extends ParallelStatsDisabledIT {
     private static Timestamp row3Timestamp;
 
     @BeforeClass
-    public static void setUpBeforeClass() throws Exception {
+    public static synchronized void setUpBeforeClass() throws Exception {
         saveLocale = Locale.getDefault();
         Locale.setDefault(Locale.US);
         initTable();
     }
 
     @AfterClass
-    public static void tearDownAfterClass() {
+    public static synchronized void tearDownAfterClass() {
         Locale.setDefault(saveLocale);
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TransactionalViewIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TransactionalViewIT.java
index f8910c1..942ed9a 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TransactionalViewIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TransactionalViewIT.java
@@ -49,7 +49,7 @@ public class TransactionalViewIT extends ParallelStatsEnabledIT {
     }
     
     @Parameters(name="TransactionalViewIT_transactionProvider={0}")
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] { 
                  {"TEPHRA"},{"OMID"}}),0);
     }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UngroupedIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UngroupedIT.java
index 1435d0b..6ad78db 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UngroupedIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UngroupedIT.java
@@ -50,7 +50,7 @@ public class UngroupedIT extends BaseQueryIT {
     }
 
     @Parameters(name="UngroupedIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         return BaseQueryIT.allIndexes();
     }
     
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpdateCacheAcrossDifferentClientsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpdateCacheAcrossDifferentClientsIT.java
index 1d48858..a6b43d0 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpdateCacheAcrossDifferentClientsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpdateCacheAcrossDifferentClientsIT.java
@@ -46,7 +46,7 @@ import static org.junit.Assert.fail;
 public class UpdateCacheAcrossDifferentClientsIT extends BaseUniqueNamesOwnClusterIT {
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Configuration conf = HBaseConfiguration.create();
         HBaseTestingUtility hbaseTestUtil = new HBaseTestingUtility(conf);
         setUpConfigForMiniCluster(conf);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpperLowerFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpperLowerFunctionIT.java
index 2c43468..0cbdd42 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpperLowerFunctionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpperLowerFunctionIT.java
@@ -36,7 +36,7 @@ public class UpperLowerFunctionIT extends ParallelStatsDisabledIT {
     private static String lastName = "Smith";
 
     @BeforeClass
-    public static void init() throws SQLException {
+    public static synchronized void init() throws SQLException {
         Connection conn = DriverManager.getConnection(getUrl());
         String ddl = "CREATE TABLE " + tableName + " ("
                 + "id INTEGER PRIMARY KEY,"
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
index 8bd9ac3..e7e5e50 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
@@ -46,7 +46,7 @@ public class UpsertSelectAutoCommitIT extends ParallelStatsDisabledIT {
     }
 
     @Parameters(name="UpsertSelectAutoCommitIT_allowServerSideMutations={0}") // name is used by failsafe as file name in reports
-    public static Object[] data() {
+    public static synchronized Object[] data() {
         return new Object[] {"true", "false"};
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
index 207935b..41e2d3c 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
@@ -71,7 +71,7 @@ public class UpsertSelectIT extends ParallelStatsDisabledIT {
     }
 
     @Parameters(name="UpsertSelecttIT_allowServerSideMutations={0}") // name is used by failsafe as file name in reports
-    public static Object[] data() {
+    public static synchronized Object[] data() {
         return new Object[] {"true", "false"};
     }
 	
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
index 93834ea..1b6fe1d 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
@@ -272,7 +272,7 @@ public class UserDefinedFunctionsIT extends BaseOwnClusterIT {
     }
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Configuration conf = HBaseConfiguration.create();
         setUpConfigForMiniCluster(conf);
         util = new HBaseTestingUtility(conf);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java
index 82e669c..1d1d20b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java
@@ -122,7 +122,7 @@ public class ViewIT extends SplitSystemCatalogIT {
     }
 
     @Parameters(name="ViewIT_transactionProvider={0}, columnEncoded={1}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] { 
             { "TEPHRA", false }, { "TEPHRA", true },
             { "OMID", false }, 
@@ -130,7 +130,7 @@ public class ViewIT extends SplitSystemCatalogIT {
     }
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         NUM_SLAVES_BASE = 6;
         Map<String, String> props = Collections.emptyMap();
         boolean splitSystemCatalog = (driver == null);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewMetadataIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewMetadataIT.java
index 8a58593..0e50fc2 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewMetadataIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewMetadataIT.java
@@ -71,7 +71,7 @@ public class ViewMetadataIT extends SplitSystemCatalogIT {
     private static RegionCoprocessorEnvironment TaskRegionEnvironment;
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         NUM_SLAVES_BASE = 6;
         Map<String, String> props = Collections.emptyMap();
         boolean splitSystemCatalog = (driver == null);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/BaseLocalIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/BaseLocalIndexIT.java
index 1659d73..e6ab72b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/BaseLocalIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/BaseLocalIndexIT.java
@@ -54,7 +54,7 @@ public abstract class BaseLocalIndexIT extends BaseUniqueNamesOwnClusterIT {
     }
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(7);
         serverProps.put(QueryServices.IS_NAMESPACE_MAPPING_ENABLED, "true");
         Map<String, String> clientProps = Maps.newHashMapWithExpectedSize(1);
@@ -93,7 +93,7 @@ public abstract class BaseLocalIndexIT extends BaseUniqueNamesOwnClusterIT {
     }
 
     @Parameters(name = "LocalIndexIT_isNamespaceMapped={0}") // name is used by failsafe as file name in reports
-    public static Collection<Boolean> data() {
+    public static synchronized Collection<Boolean> data() {
         return Arrays.asList(true, false);
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropColumnIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropColumnIT.java
index 0eb4c67..5855922 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropColumnIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropColumnIT.java
@@ -110,7 +110,7 @@ public class DropColumnIT extends ParallelStatsDisabledIT {
     }
     
     @Parameters(name="DropColumnIT_mutable={0}, columnEncoded={1}") // name is used by failsafe as file name in reports
-    public static Collection<Boolean[]> data() {
+    public static synchronized Collection<Boolean[]> data() {
         return Arrays.asList(new Boolean[][] {
                 { false, false }, { false, true }, { true, false }, { true, true }, 
            });
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalImmutableNonTxIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalImmutableNonTxIndexIT.java
index d891920..03c5af3 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalImmutableNonTxIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalImmutableNonTxIndexIT.java
@@ -29,7 +29,7 @@ public class GlobalImmutableNonTxIndexIT extends BaseIndexIT {
     }
 
     @Parameters(name="GlobalImmutableNonTxIndexIT_localIndex={0},mutable={1},transactionProvider={2},columnEncoded={3}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return Arrays.asList(new Object[][] {
                 { false, false, null, false }, { false, false, null, true }
            });
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalImmutableTxIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalImmutableTxIndexIT.java
index 76deb99..7d4cfbd 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalImmutableTxIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalImmutableTxIndexIT.java
@@ -30,7 +30,7 @@ public class GlobalImmutableTxIndexIT extends BaseIndexIT {
     }
 
     @Parameters(name="GlobalImmutableTxIndexIT_localIndex={0},mutable={1},transactionProvider={2},columnEncoded={3}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(
                 Arrays.asList(new Object[][] {
                     { false, false, "TEPHRA", false }, { false, false, "TEPHRA", true }, 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexCheckerIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexCheckerIT.java
index 7c823ea..1b647a7 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexCheckerIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexCheckerIT.java
@@ -71,14 +71,14 @@ public class GlobalIndexCheckerIT extends BaseUniqueNamesOwnClusterIT {
     }
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(1);
         setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
     }
 
     @Parameters(
             name = "async={0},encoded={1}")
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         List<Object[]> list = Lists.newArrayListWithExpectedSize(4);
         boolean[] Booleans = new boolean[]{true, false};
             for (boolean async : Booleans) {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalMutableNonTxIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalMutableNonTxIndexIT.java
index 7097234..7056338 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalMutableNonTxIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalMutableNonTxIndexIT.java
@@ -30,7 +30,7 @@ public class GlobalMutableNonTxIndexIT extends BaseIndexIT {
     }
 
     @Parameters(name="GlobalMutableNonTxIndexIT_localIndex={0},mutable={1},transactionProvider={2},columnEncoded={3},skipPostIndexUpdates={4}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return Arrays.asList(new Object[][] {
                 {false, true, null, false, false},
                 {false, true, null, false, true},
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalMutableNonTxIndexWithLazyPostBatchWriteIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalMutableNonTxIndexWithLazyPostBatchWriteIT.java
index d296d0d..9ac2174 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalMutableNonTxIndexWithLazyPostBatchWriteIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalMutableNonTxIndexWithLazyPostBatchWriteIT.java
@@ -31,7 +31,7 @@ public class GlobalMutableNonTxIndexWithLazyPostBatchWriteIT extends GlobalMutab
     }
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(2);
         props.put(IndexRegionObserver.INDEX_LAZY_POST_BATCH_WRITE, "true");
         setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalMutableTxIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalMutableTxIndexIT.java
index b33cce7..d428ce5 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalMutableTxIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalMutableTxIndexIT.java
@@ -30,7 +30,7 @@ public class GlobalMutableTxIndexIT extends BaseIndexIT {
     }
 
     @Parameters(name="GlobalMutableTxIndexIT_localIndex={0},mutable={1},transactionProvider={2},columnEncoded={3}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(
                 Arrays.asList(new Object[][] {
                     { false, true, "TEPHRA", false }, { false, true, "TEPHRA", true },
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java
index 920d1cb..8d6b650 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java
@@ -125,7 +125,7 @@ public class ImmutableIndexIT extends BaseUniqueNamesOwnClusterIT {
     }
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(1);
         serverProps.put("hbase.coprocessor.region.classes", CreateIndexRegionObserver.class.getName());
         Map<String, String> clientProps = Maps.newHashMapWithExpectedSize(5);
@@ -138,7 +138,7 @@ public class ImmutableIndexIT extends BaseUniqueNamesOwnClusterIT {
     }
 
     @Parameters(name="ImmutableIndexIT_localIndex={0},transactional={1},transactionProvider={2},columnEncoded={3}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
 		return TestUtil.filterTxParamData(
 		        Arrays.asList(new Object[][] {
     				{ false, false, null, false }, { false, false, null, true },
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexRebuildIncrementDisableCountIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexRebuildIncrementDisableCountIT.java
index 9b7ba91..e36d90a 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexRebuildIncrementDisableCountIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexRebuildIncrementDisableCountIT.java
@@ -76,7 +76,7 @@ public class IndexRebuildIncrementDisableCountIT extends BaseUniqueNamesOwnClust
     private static PhoenixConnection phoenixConn;
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(10);
         serverProps.put(QueryServices.INDEX_FAILURE_HANDLING_REBUILD_ATTRIB,
             Boolean.TRUE.toString());
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalImmutableNonTxIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalImmutableNonTxIndexIT.java
index 515d74c..059f723 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalImmutableNonTxIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalImmutableNonTxIndexIT.java
@@ -29,7 +29,7 @@ public class LocalImmutableNonTxIndexIT extends BaseIndexIT {
     }
 
     @Parameters(name="LocalImmutableNonTxIndexIT_localIndex={0},mutable={1},transactionProvider={2},columnEncoded={3}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return Arrays.asList(new Object[][] {
                 { true, false, null, false }, { true, false, null, true }
            });
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalImmutableTxIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalImmutableTxIndexIT.java
index 176b36f..92c94e6 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalImmutableTxIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalImmutableTxIndexIT.java
@@ -30,7 +30,7 @@ public class LocalImmutableTxIndexIT extends BaseIndexIT {
     }
 
     @Parameters(name="LocalImmutableTxIndexIT_localIndex={0},mutable={1},transactionProvider={2},columnEncoded={3}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(
                 Arrays.asList(new Object[][] {
                     { true, false, "TEPHRA", false }, { true, false, "TEPHRA", true },
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalMutableNonTxIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalMutableNonTxIndexIT.java
index dd3a3bb..089d78e 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalMutableNonTxIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalMutableNonTxIndexIT.java
@@ -29,7 +29,7 @@ public class LocalMutableNonTxIndexIT extends BaseIndexIT {
     }
 
     @Parameters(name="LocalMutableNonTxIndexIT_localIndex={0},mutable={1},transactionProvider={2},columnEncoded={3}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return Arrays.asList(new Object[][] {
                 { true, true, null, false }, { true, true, null, true }
            });
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalMutableTxIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalMutableTxIndexIT.java
index d1b7f53..2775454 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalMutableTxIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalMutableTxIndexIT.java
@@ -30,7 +30,7 @@ public class LocalMutableTxIndexIT extends BaseIndexIT {
     }
 
     @Parameters(name="LocalMutableTxIndexIT_localIndex={0},mutable={1},transactionProvider={2},columnEncoded={3}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(
                 Arrays.asList(new Object[][] {
                     { true, true, "TEPHRA", false }, { true, true, "TEPHRA", true },
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
index 7896a34..334dd03 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
@@ -138,7 +138,7 @@ public class MutableIndexFailureIT extends BaseTest {
     }
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = getServerProps();
         Map<String, String> clientProps = Maps.newHashMapWithExpectedSize(2);
         clientProps.put(HConstants.HBASE_CLIENT_RETRIES_NUMBER, "2");
@@ -173,7 +173,7 @@ public class MutableIndexFailureIT extends BaseTest {
     }
 
     @Parameters(name = "MutableIndexFailureIT_transactionProvider={0},localIndex={1},isNamespaceMapped={2},disableIndexOnWriteFailure={3},failRebuildTask={4},throwIndexWriteFailure={5}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(
                 Arrays.asList(new Object[][] { 
                     // note - can't disableIndexOnWriteFailure without throwIndexWriteFailure, PHOENIX-4130
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureWithNamespaceIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureWithNamespaceIT.java
index 1af1b2e..224d9aa 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureWithNamespaceIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureWithNamespaceIT.java
@@ -46,7 +46,7 @@ public class MutableIndexFailureWithNamespaceIT extends MutableIndexFailureIT {
     }
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = getServerProps();
         serverProps.put(QueryServices.IS_NAMESPACE_MAPPING_ENABLED, Boolean.TRUE.toString());
         Map<String, String> clientProps = Maps.newHashMapWithExpectedSize(3);
@@ -64,7 +64,7 @@ public class MutableIndexFailureWithNamespaceIT extends MutableIndexFailureIT {
     }
     
     @Parameters(name = "MutableIndexFailureIT_transactional={0},localIndex={1},isNamespaceMapped={2},disableIndexOnWriteFailure={3},failRebuildTask={4},throwIndexWriteFailure={5}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] { 
                 // note - can't disableIndexOnWriteFailure without throwIndexWriteFailure, PHOENIX-4130
                 { null, false, true, true, false, null},
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java
index 2f7b1c9..0810aa3 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java
@@ -87,7 +87,7 @@ public class MutableIndexIT extends ParallelStatsDisabledIT {
     }
     
     @Parameters(name="MutableIndexIT_localIndex={0},transactionProvider={1},columnEncoded={2}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] { 
                 { false, null, false }, { false, null, true },
                 { false, "TEPHRA", false }, { false, "TEPHRA", true },
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexReplicationIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexReplicationIT.java
index c59a6de..a7091a0 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexReplicationIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexReplicationIT.java
@@ -106,7 +106,7 @@ public class MutableIndexReplicationIT extends BaseTest {
     protected static final byte[] row = Bytes.toBytes("row");
 
     @BeforeClass
-    public static void setUpBeforeClass() throws Exception {
+    public static synchronized void setUpBeforeClass() throws Exception {
         setupConfigsAndStartCluster();
         setupDriver();
     }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexSplitIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexSplitIT.java
index 6be26ba..08aecdc 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexSplitIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexSplitIT.java
@@ -65,7 +65,7 @@ public abstract class MutableIndexSplitIT extends ParallelStatsDisabledIT {
     }
     
 	@Parameters(name="MutableIndexSplitIT_localIndex={0},multiTenant={1}") // name is used by failsafe as file name in reports
-    public static Collection<Boolean[]> data() {
+    public static synchronized Collection<Boolean[]> data() {
         return Arrays.asList(new Boolean[][] { 
                 { false, false },{ false, true },{true, false}, { true, true } });
     }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/PartialIndexRebuilderIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/PartialIndexRebuilderIT.java
index 5797cbc..43fea1b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/PartialIndexRebuilderIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/PartialIndexRebuilderIT.java
@@ -91,7 +91,7 @@ public class PartialIndexRebuilderIT extends BaseUniqueNamesOwnClusterIT {
 
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(10);
         serverProps.put(QueryServices.INDEX_FAILURE_HANDLING_REBUILD_ATTRIB, Boolean.TRUE.toString());
         serverProps.put(QueryServices.INDEX_FAILURE_HANDLING_REBUILD_INTERVAL_ATTRIB, Long.toString(REBUILD_INTERVAL));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/PhoenixMRJobSubmitterIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/PhoenixMRJobSubmitterIT.java
index 7cc3aa0..7ccdc81 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/PhoenixMRJobSubmitterIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/PhoenixMRJobSubmitterIT.java
@@ -43,7 +43,7 @@ public class PhoenixMRJobSubmitterIT extends BaseUniqueNamesOwnClusterIT {
   private static String REQUEST_INDEX_REBUILD_SQL = "ALTER INDEX %s ON %s REBUILD ASYNC";
 
   @BeforeClass
-  public static void setUp() throws Exception {
+  public static synchronized void setUp() throws Exception {
     setUpTestDriver(ReadOnlyProps.EMPTY_PROPS);
 
   }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
index 3126ee4..45c2b94 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java
@@ -66,7 +66,7 @@ public class ViewIndexIT extends SplitSystemCatalogIT {
     private boolean isNamespaceMapped;
 
     @Parameters(name = "ViewIndexIT_isNamespaceMapped={0}") // name is used by failsafe as file name in reports
-    public static Collection<Boolean> data() {
+    public static synchronized Collection<Boolean> data() {
         return Arrays.asList(true, false);
     }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java
index 83f1af5..a1ebefd 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java
@@ -56,7 +56,7 @@ public class MutableRollbackIT extends ParallelStatsDisabledIT {
 	}
 	
 	@Parameters(name="MutableRollbackIT_localIndex={0},transactionProvider={1}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] {     
             { false, "TEPHRA"}, { true, "TEPHRA"},
             { false, "OMID"}, 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java
index ff9f14b..65166fe 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java
@@ -65,7 +65,7 @@ public class RollbackIT extends ParallelStatsDisabledIT {
     }
     
 	@Parameters(name="RollbackIT_localIndex={0},mutable={1},transactionProvider={2}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] {     
                  { false, false, "TEPHRA" }, { false, true, "TEPHRA"  },
                  { true, false, "TEPHRA"  }, { true, true, "TEPHRA"  },
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/TxWriteFailureIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/TxWriteFailureIT.java
index f94ec81..ebd265d 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/TxWriteFailureIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/TxWriteFailureIT.java
@@ -80,7 +80,7 @@ public class TxWriteFailureIT extends BaseUniqueNamesOwnClusterIT {
 	}
 	
 	@BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(3);
         serverProps.put("hbase.coprocessor.region.classes", FailingRegionObserver.class.getName());
         serverProps.put("hbase.coprocessor.abortonerror", "false");
@@ -92,7 +92,7 @@ public class TxWriteFailureIT extends BaseUniqueNamesOwnClusterIT {
     }
 	
 	@Parameters(name="TxWriteFailureIT_localIndex={0},mutable={1},transactionProvider={2}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] {
                  { false, false, "TEPHRA" }, { false, true, "TEPHRA" }, { true, false, "TEPHRA" }, { true, true, "TEPHRA" },
                  { false, false, "OMID" }, { false, true, "OMID" }, 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/HashJoinGlobalIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/HashJoinGlobalIndexIT.java
index 3e72888..d60c6a0 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/HashJoinGlobalIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/HashJoinGlobalIndexIT.java
@@ -49,7 +49,7 @@ public class HashJoinGlobalIndexIT extends HashJoinIT {
     }
 
     @Parameters(name="HashJoinGlobalIndexIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         testCases.add(new String[][] {
                 {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/HashJoinLocalIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/HashJoinLocalIndexIT.java
index a65452a..6046677 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/HashJoinLocalIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/HashJoinLocalIndexIT.java
@@ -66,7 +66,7 @@ public class HashJoinLocalIndexIT extends HashJoinIT {
     }
     
     @Parameters(name="HashJoinLocalIndexIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         testCases.add(new String[][] {
                 {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/HashJoinNoIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/HashJoinNoIndexIT.java
index 6911aa3..9e94f5f 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/HashJoinNoIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/HashJoinNoIndexIT.java
@@ -49,7 +49,7 @@ public class HashJoinNoIndexIT extends HashJoinIT {
     }
 
     @Parameters(name="HashJoinNoIndexIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         testCases.add(new String[][] {
                 {}, {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinGlobalIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinGlobalIndexIT.java
index d002a2e..dca559c 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinGlobalIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinGlobalIndexIT.java
@@ -49,7 +49,7 @@ public class SortMergeJoinGlobalIndexIT extends SortMergeJoinIT {
     }
 
     @Parameters(name="SortMergeJoinGlobalIndexIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         testCases.add(new String[][] {
                 {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinLocalIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinLocalIndexIT.java
index 9fc33b1..2b1bbfd 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinLocalIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinLocalIndexIT.java
@@ -48,7 +48,7 @@ public class SortMergeJoinLocalIndexIT extends SortMergeJoinIT {
     }
 
     @Parameters(name="SortMergeJoinLocalIndexIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         testCases.add(new String[][] {
                 {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinNoIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinNoIndexIT.java
index 8a1a603..8b5b717 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinNoIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinNoIndexIT.java
@@ -49,7 +49,7 @@ public class SortMergeJoinNoIndexIT extends SortMergeJoinIT {
     }
 
     @Parameters(name="SortMergeJoinNoIndexIT_{index}") // name is used by failsafe as file name in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         testCases.add(new String[][] {
                 {}, {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinNoSpoolingIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinNoSpoolingIT.java
index 01c07c7..55734b2 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinNoSpoolingIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SortMergeJoinNoSpoolingIT.java
@@ -44,12 +44,12 @@ public class SortMergeJoinNoSpoolingIT extends SortMergeJoinNoIndexIT {
 
     @Parameters(name = "SortMergeJoinNoSpoolingIT_{index}") // name is used by failsafe as file name
                                                             // in reports
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         return SortMergeJoinNoIndexIT.data();
     }
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(1);
         props.put(QueryServices.CLIENT_JOIN_SPOOLING_ENABLED_ATTRIB,
             Boolean.toString(Boolean.FALSE));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SubqueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SubqueryIT.java
index 1eb9c81..de5dd08 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SubqueryIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SubqueryIT.java
@@ -50,7 +50,7 @@ public class SubqueryIT extends BaseJoinIT {
     }
     
     @Parameters
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         testCases.add(new String[][] {
                 {}, {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SubqueryUsingSortMergeJoinIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SubqueryUsingSortMergeJoinIT.java
index 4e9d5ca..1b54422 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SubqueryUsingSortMergeJoinIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/join/SubqueryUsingSortMergeJoinIT.java
@@ -55,7 +55,7 @@ public class SubqueryUsingSortMergeJoinIT extends BaseJoinIT {
     }
     
     @Parameters
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         testCases.add(new String[][] {
                 {}, {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/execute/PartialCommitIT.java b/phoenix-core/src/it/java/org/apache/phoenix/execute/PartialCommitIT.java
index 999927f..f8fc74b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/execute/PartialCommitIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/execute/PartialCommitIT.java
@@ -86,7 +86,7 @@ public class PartialCommitIT extends BaseUniqueNamesOwnClusterIT {
     private static final byte[] ROW_TO_FAIL_DELETE_BYTES = Bytes.toBytes("fail me delete");
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(3);
         serverProps.put("hbase.coprocessor.region.classes", FailingRegionObserver.class.getName());
         serverProps.put("hbase.coprocessor.abortonerror", "false");
@@ -101,7 +101,7 @@ public class PartialCommitIT extends BaseUniqueNamesOwnClusterIT {
     private final String transactionProvider;
     
     @Parameters(name="PartialCommitIT_transactionProvider={0}")
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] { 
                  {"TEPHRA"},{"OMID"}}),0);
     }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/execute/UpsertSelectOverlappingBatchesIT.java b/phoenix-core/src/it/java/org/apache/phoenix/execute/UpsertSelectOverlappingBatchesIT.java
index 2a115e0..240b335 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/execute/UpsertSelectOverlappingBatchesIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/execute/UpsertSelectOverlappingBatchesIT.java
@@ -74,7 +74,7 @@ public class UpsertSelectOverlappingBatchesIT extends BaseUniqueNamesOwnClusterI
     private String index;
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(3);
         serverProps.put("hbase.coprocessor.region.classes", SlowBatchRegionObserver.class.getName());
         serverProps.put("hbase.rowlock.wait.duration", "5000");
@@ -83,7 +83,7 @@ public class UpsertSelectOverlappingBatchesIT extends BaseUniqueNamesOwnClusterI
     }
 
     @AfterClass
-    public static void tearDownClass() throws Exception {
+    public static synchronized void tearDownClass() throws Exception {
         SlowBatchRegionObserver.SLOW_MUTATE = false;
         getUtility().shutdownMiniCluster();
     }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorWithStatsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorWithStatsIT.java
index 928e161..0a65a24 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorWithStatsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorWithStatsIT.java
@@ -52,7 +52,7 @@ public class RoundRobinResultIteratorWithStatsIT extends BaseUniqueNamesOwnClust
     }
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String,String> props = Maps.newHashMapWithExpectedSize(3);
         // Must update config before starting server
         props.put(QueryServices.STATS_GUIDEPOST_WIDTH_BYTES_ATTRIB, Long.toString(70000));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/iterate/ScannerLeaseRenewalIT.java b/phoenix-core/src/it/java/org/apache/phoenix/iterate/ScannerLeaseRenewalIT.java
index 4f5e55e..94700e0 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/iterate/ScannerLeaseRenewalIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/iterate/ScannerLeaseRenewalIT.java
@@ -62,7 +62,7 @@ public class ScannerLeaseRenewalIT {
     private static String url;
     
     @BeforeClass
-    public static void setUp() throws Exception {
+    public static synchronized void setUp() throws Exception {
         Configuration conf = HBaseConfiguration.create();
         hbaseTestUtil = new HBaseTestingUtility(conf);
         setUpConfigForMiniCluster(conf);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/jdbc/SecureUserConnectionsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/jdbc/SecureUserConnectionsIT.java
index 2557ba3..630590f 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/jdbc/SecureUserConnectionsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/jdbc/SecureUserConnectionsIT.java
@@ -73,7 +73,7 @@ public class SecureUserConnectionsIT {
     private static MiniKdc KDC;
 
     @BeforeClass
-    public static void setupKdc() throws Exception {
+    public static synchronized void setupKdc() throws Exception {
         ensureIsEmptyDirectory(KDC_DIR);
         ensureIsEmptyDirectory(KEYTAB_DIR);
         // Create and start the KDC. MiniKDC appears to have a race condition in how it does
@@ -130,7 +130,7 @@ public class SecureUserConnectionsIT {
     }
 
     @AfterClass
-    public static void stopKdc() throws Exception {
+    public static synchronized void stopKdc() throws Exception {
         // Remove our custom ConfigurationFactory for future tests
         InstanceResolver.clearSingletons();
         if (null != KDC) {
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/monitoring/BasePhoenixMetricsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/monitoring/BasePhoenixMetricsIT.java
index 07240f1..993aef3 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/monitoring/BasePhoenixMetricsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/monitoring/BasePhoenixMetricsIT.java
@@ -53,7 +53,7 @@ public class BasePhoenixMetricsIT extends BaseUniqueNamesOwnClusterIT {
     static final AtomicInteger numConnections = new AtomicInteger(0);
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(3);
         // Disable system task handling
         props.put(QueryServices.TASK_HANDLING_INITIAL_DELAY_MS_ATTRIB, Long.toString(Long.MAX_VALUE));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixMetricsDisabledIT.java b/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixMetricsDisabledIT.java
index 1efbc46..e77a47a 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixMetricsDisabledIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/monitoring/PhoenixMetricsDisabledIT.java
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertThat;
 public class PhoenixMetricsDisabledIT extends BaseUniqueNamesOwnClusterIT {
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         final Configuration conf = HBaseConfiguration.create();
         conf.set(QueryServices.GLOBAL_METRICS_ENABLED, String.valueOf(false));
         conf.set(QueryServices.RENEW_LEASE_ENABLED, String.valueOf(false));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java b/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
index ec62a42..33dba7a 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/query/ConnectionCachingIT.java
@@ -47,7 +47,7 @@ public class ConnectionCachingIT extends ParallelStatsEnabledIT {
   private static final Logger LOGGER = LoggerFactory.getLogger(ConnectionCachingIT.class);
 
   @Parameters(name= "phoenix.scanner.lease.renew.enabled={0}")
-  public static Iterable<String> data() {
+  public static synchronized Iterable<String> data() {
     return Arrays.asList("true", "false");
   }
 
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/replication/SystemCatalogWALEntryFilterIT.java b/phoenix-core/src/it/java/org/apache/phoenix/replication/SystemCatalogWALEntryFilterIT.java
index 85a677a..df4d97c 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/replication/SystemCatalogWALEntryFilterIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/replication/SystemCatalogWALEntryFilterIT.java
@@ -78,7 +78,7 @@ public class SystemCatalogWALEntryFilterIT extends ParallelStatsDisabledIT {
 
 
   @BeforeClass
-  public static void setup() throws Exception {
+  public static synchronized void setup() throws Exception {
     setUpTestDriver(ReadOnlyProps.EMPTY_PROPS);
     Properties tenantProperties = new Properties();
     tenantProperties.setProperty("TenantId", TENANT_ID);
@@ -98,7 +98,7 @@ public class SystemCatalogWALEntryFilterIT extends ParallelStatsDisabledIT {
   }
 
   @AfterClass
-  public static void tearDown() throws Exception {
+  public static synchronized void tearDown() throws Exception {
     Properties tenantProperties = new Properties();
     tenantProperties.setProperty("TenantId", TENANT_ID);
     try (java.sql.Connection connection =
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/rpc/PhoenixClientRpcIT.java b/phoenix-core/src/it/java/org/apache/phoenix/rpc/PhoenixClientRpcIT.java
index 43df7a1..f41fcfb 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/rpc/PhoenixClientRpcIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/rpc/PhoenixClientRpcIT.java
@@ -43,7 +43,7 @@ public class PhoenixClientRpcIT extends BaseUniqueNamesOwnClusterIT {
     private String dataTableFullName;
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> serverProps = Collections.singletonMap(RSRpcServices.REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS, 
         		TestPhoenixIndexRpcSchedulerFactory.class.getName());
         NUM_SLAVES_BASE = 2;
@@ -51,7 +51,7 @@ public class PhoenixClientRpcIT extends BaseUniqueNamesOwnClusterIT {
     }
     
     @AfterClass
-    public static void cleanUpAfterTestSuite() throws Exception {
+    public static synchronized void cleanUpAfterTestSuite() throws Exception {
         TestPhoenixIndexRpcSchedulerFactory.reset();
     }
     
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/rpc/PhoenixServerRpcIT.java b/phoenix-core/src/it/java/org/apache/phoenix/rpc/PhoenixServerRpcIT.java
index cba8969..18e155d 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/rpc/PhoenixServerRpcIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/rpc/PhoenixServerRpcIT.java
@@ -65,7 +65,7 @@ public class PhoenixServerRpcIT extends BaseUniqueNamesOwnClusterIT {
     private String indexTableFullName;
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
     	Map<String, String> serverProps = Collections.singletonMap(RSRpcServices.REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS, 
         		TestPhoenixIndexRpcSchedulerFactory.class.getName());
         Map<String, String> clientProps = Collections.emptyMap();
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/BaseStatsCollectorIT.java b/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/BaseStatsCollectorIT.java
index 73e0d6c..8cef37e 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/BaseStatsCollectorIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/BaseStatsCollectorIT.java
@@ -146,7 +146,7 @@ public abstract class BaseStatsCollectorIT extends BaseUniqueNamesOwnClusterIT {
     }
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         // disable name space mapping at global level on both client and server side
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(7);
         serverProps.put(QueryServices.IS_NAMESPACE_MAPPING_ENABLED, Boolean.FALSE.toString());
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/NamespaceEnabledStatsCollectorIT.java b/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/NamespaceEnabledStatsCollectorIT.java
index d6b1f4e..5a28781 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/NamespaceEnabledStatsCollectorIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/NamespaceEnabledStatsCollectorIT.java
@@ -46,7 +46,7 @@ public class NamespaceEnabledStatsCollectorIT extends BaseStatsCollectorIT {
     }
 
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         // enable name space mapping at global level on both client and server side
         Map<String, String> serverProps = Maps.newHashMapWithExpectedSize(7);
         serverProps.put(QueryServices.IS_NAMESPACE_MAPPING_ENABLED, Boolean.TRUE.toString());
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/NoOpStatsCollectorIT.java b/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/NoOpStatsCollectorIT.java
index a6852f4..d100859 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/NoOpStatsCollectorIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/NoOpStatsCollectorIT.java
@@ -62,7 +62,7 @@ public class NoOpStatsCollectorIT extends ParallelStatsDisabledIT {
      * Disable stats on server side by setting QueryServices#STATS_COLLECTION_ENABLED to false
      */
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         Map<String, String> props = Maps.newHashMapWithExpectedSize(1);
         props.put(QueryServices.STATS_COLLECTION_ENABLED, Boolean.FALSE.toString());
         setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/NonTxStatsCollectorIT.java b/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/NonTxStatsCollectorIT.java
index 651a21b..9e85fd9 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/NonTxStatsCollectorIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/NonTxStatsCollectorIT.java
@@ -30,7 +30,7 @@ public class NonTxStatsCollectorIT extends BaseStatsCollectorIT {
     }
 
     @Parameters(name = "mutable={0},transactionProvider={1},columnEncoded={2}")
-    public static Collection<Object[]> provideData() {
+    public static synchronized Collection<Object[]> provideData() {
         return Arrays.asList(
                 new Object[][] {
                     // Immutable, Column Encoded
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/tx/FlappingTransactionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/tx/FlappingTransactionIT.java
index 5802c6d..a44c235 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/tx/FlappingTransactionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/tx/FlappingTransactionIT.java
@@ -68,7 +68,7 @@ public class FlappingTransactionIT extends ParallelStatsDisabledIT {
     }
 
     @Parameters(name="FlappingTransactionIT_transactionProvider={0}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] {
             {"TEPHRA"}, {"OMID"}
            }),0);
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/tx/ParameterizedTransactionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/tx/ParameterizedTransactionIT.java
index f6bfdec..8b4c3d9 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/tx/ParameterizedTransactionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/tx/ParameterizedTransactionIT.java
@@ -102,7 +102,7 @@ public class ParameterizedTransactionIT extends ParallelStatsDisabledIT {
     }
     
     @Parameters(name="ParameterizedTransactionIT_mutable={0},columnEncoded={1},transactionProvider={2}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] {     
                  {false, false, "TEPHRA" }, {false, true, "TEPHRA" }, {true, false, "TEPHRA" }, { true, true, "TEPHRA" },
                  {false, false, "OMID" }, {true, false, "OMID" },
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java
index eab64fd..6f8bcaa 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java
@@ -93,7 +93,7 @@ public class TransactionIT  extends ParallelStatsDisabledIT {
     }
 
     @Parameters(name="TransactionIT_provider={0}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] { 
                  {"TEPHRA"},{"OMID"}}),0);
     }
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java b/phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java
index 800dcc3..4d36cc5 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java
@@ -79,7 +79,7 @@ public class TxCheckpointIT extends ParallelStatsDisabledIT {
     }
 	
 	@Parameters(name="TxCheckpointIT_localIndex={0},mutable={1},columnEncoded={2},transactionProvider={3}") // name is used by failsafe as file name in reports
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         return TestUtil.filterTxParamData(Arrays.asList(new Object[][] {     
                 { false, false, false, "TEPHRA" }, { false, false, true, "TEPHRA" }, { false, true, false, "TEPHRA" }, { false, true, true, "TEPHRA" },
                 { true, false, false, "TEPHRA" }, { true, false, true, "TEPHRA" }, { true, true, false, "TEPHRA" }, { true, true, true, "TEPHRA" },
diff --git a/phoenix-core/src/test/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecTest.java b/phoenix-core/src/test/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecTest.java
index bb88e1d..f695578 100644
--- a/phoenix-core/src/test/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecTest.java
+++ b/phoenix-core/src/test/java/org/apache/hadoop/hbase/regionserver/wal/ReadWriteKeyValuesWithCodecTest.java
@@ -56,7 +56,7 @@ public class ReadWriteKeyValuesWithCodecTest {
   private static final byte[] FAMILY = Bytes.toBytes("family");
 
   @BeforeClass
-  public static void setupCodec() {
+  public static synchronized void setupCodec() {
     Configuration conf = UTIL.getConfiguration();
     IndexTestingUtils.setupConfig(conf);
     conf.set(WALCellCodec.WAL_CELL_CODEC_CLASS_KEY, IndexedWALEditCodec.class.getName());
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/compile/JoinQueryCompilerTest.java b/phoenix-core/src/test/java/org/apache/phoenix/compile/JoinQueryCompilerTest.java
index 14c22ea..1a70281 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/compile/JoinQueryCompilerTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/compile/JoinQueryCompilerTest.java
@@ -51,7 +51,7 @@ import org.junit.Test;
 public class JoinQueryCompilerTest extends BaseConnectionlessQueryTest {
     
     @BeforeClass
-    public static void createJoinTables() throws SQLException {
+    public static synchronized void createJoinTables() throws SQLException {
         try (Connection conn = DriverManager.getConnection(getUrl())) {
             conn.createStatement().execute("create table " + JOIN_ORDER_TABLE_FULL_NAME +
                     "   (\"order_id\" varchar(15) not null primary key, " +
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/compile/SaltedScanRangesTest.java b/phoenix-core/src/test/java/org/apache/phoenix/compile/SaltedScanRangesTest.java
index d89f024..bd8e479 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/compile/SaltedScanRangesTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/compile/SaltedScanRangesTest.java
@@ -81,7 +81,7 @@ public class SaltedScanRangesTest {
     }
 
     @Parameters(name="{0} {2}")
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         testCases.addAll(
                 foreach(new KeyRange[][]{{
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/compile/ScanRangesTest.java b/phoenix-core/src/test/java/org/apache/phoenix/compile/ScanRangesTest.java
index 44aac4d..04c4677 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/compile/ScanRangesTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/compile/ScanRangesTest.java
@@ -77,7 +77,7 @@ public class ScanRangesTest {
     }
 
     @Parameters(name="{0} {2}")
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         // variable length test that demonstrates that null byte
         // must be added at end
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/expression/MathTrigFunctionTest.java b/phoenix-core/src/test/java/org/apache/phoenix/expression/MathTrigFunctionTest.java
index 796106f..b0792c9 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/expression/MathTrigFunctionTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/expression/MathTrigFunctionTest.java
@@ -68,7 +68,7 @@ public class MathTrigFunctionTest {
     }
 
     @Parameters(name = "{0} {1}")
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         return Arrays.asList(new Object[][]{
             {
                 new BigDecimal[]{BigDecimal.valueOf(1.0), BigDecimal.valueOf(0.0),
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/filter/SkipScanFilterIntersectTest.java b/phoenix-core/src/test/java/org/apache/phoenix/filter/SkipScanFilterIntersectTest.java
index fea1d91..dbd1c41 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/filter/SkipScanFilterIntersectTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/filter/SkipScanFilterIntersectTest.java
@@ -90,7 +90,7 @@ public class SkipScanFilterIntersectTest {
     }
 
     @Parameters(name="{0} {4}")
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         // Both ranges in second slot are required b/c first slot contains range and upper/lower
         // values differ in this slot position.
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/filter/SkipScanFilterTest.java b/phoenix-core/src/test/java/org/apache/phoenix/filter/SkipScanFilterTest.java
index 603b68e..8f78588 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/filter/SkipScanFilterTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/filter/SkipScanFilterTest.java
@@ -109,7 +109,7 @@ public class SkipScanFilterTest extends TestCase {
     }
 
     @Parameters(name="{0} {1} {3}")
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         // Variable length tests
         testCases.addAll(
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/hbase/index/write/recovery/TestPerRegionIndexWriteCache.java b/phoenix-core/src/test/java/org/apache/phoenix/hbase/index/write/recovery/TestPerRegionIndexWriteCache.java
index 700fd97..0ff7f29 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/hbase/index/write/recovery/TestPerRegionIndexWriteCache.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/hbase/index/write/recovery/TestPerRegionIndexWriteCache.java
@@ -82,12 +82,12 @@ public class TestPerRegionIndexWriteCache {
   public TestName testName = new TestName();
 
   @BeforeClass
-  public static void startDfs() throws Exception {
+  public static synchronized void startDfs() throws Exception {
       miniDfs = TEST_UTIL.startMiniDFSCluster(1);
   }
 
   @AfterClass
-  public static void stopDfs() throws Exception {
+  public static synchronized void stopDfs() throws Exception {
       if (miniDfs != null) {
           miniDfs.shutdown();
           miniDfs = null;
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/index/IndexUpgradeToolTest.java b/phoenix-core/src/test/java/org/apache/phoenix/index/IndexUpgradeToolTest.java
index d158b0d..937ac1b 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/index/IndexUpgradeToolTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/index/IndexUpgradeToolTest.java
@@ -58,7 +58,7 @@ public class IndexUpgradeToolTest {
     }
 
     @Parameters(name ="IndexUpgradeToolTest_mutable={1}")
-    public static Collection<Boolean> data() {
+    public static synchronized Collection<Boolean> data() {
         return Arrays.asList( false, true);
     }
 
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/mapreduce/index/BaseIndexTest.java b/phoenix-core/src/test/java/org/apache/phoenix/mapreduce/index/BaseIndexTest.java
index 4ec4a0c..b5411a5 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/mapreduce/index/BaseIndexTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/mapreduce/index/BaseIndexTest.java
@@ -67,7 +67,7 @@ public class BaseIndexTest extends BaseConnectionlessQueryTest {
     protected Connection conn;
 
     @BeforeClass
-    public static void setupClass() throws Exception {
+    public static synchronized void setupClass() throws Exception {
         Properties props = PropertiesUtil.deepCopy(TestUtil.TEST_PROPERTIES);
         Connection conn = DriverManager.getConnection(getUrl(), props);
         try {
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/BaseConnectionlessQueryTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/BaseConnectionlessQueryTest.java
index d255e0a..f8350e4 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/query/BaseConnectionlessQueryTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/query/BaseConnectionlessQueryTest.java
@@ -101,7 +101,7 @@ public class BaseConnectionlessQueryTest extends BaseTest {
     }
     
     @BeforeClass
-    public static void doSetup() throws Exception {
+    public static synchronized void doSetup() throws Exception {
         startServer(getUrl());
         ensureTableCreated(getUrl(), ATABLE_NAME);
         ensureTableCreated(getUrl(), ENTITY_HISTORY_TABLE_NAME);
@@ -134,7 +134,7 @@ public class BaseConnectionlessQueryTest extends BaseTest {
     }
     
     @AfterClass
-    public static void doTeardown() throws Exception {
+    public static synchronized void doTeardown() throws Exception {
         if (driver != null) {
             try {
                 driver.close();
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/ConnectionlessTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/ConnectionlessTest.java
index 61163d1..8f40dad 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/query/ConnectionlessTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/query/ConnectionlessTest.java
@@ -75,7 +75,7 @@ public class ConnectionlessTest {
     }
     
     @BeforeClass
-    public static void verifyDriverRegistered() throws SQLException {
+    public static synchronized void verifyDriverRegistered() throws SQLException {
         assertTrue(DriverManager.getDriver(getUrl()) == PhoenixDriver.INSTANCE);
     }
     
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeClipTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeClipTest.java
index 9b028a0..86b205a 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeClipTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeClipTest.java
@@ -110,7 +110,7 @@ public class KeyRangeClipTest extends BaseConnectionlessQueryTest {
     }
 
     @Parameters(name="KeyRangeClipTest_{0}")
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         testCases.add(Lists.newArrayList( // [XY - *]
                 "A VARCHAR NOT NULL, B VARCHAR, C VARCHAR, CONSTRAINT PK PRIMARY KEY (A,B,C)",
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeCoalesceTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeCoalesceTest.java
index bc0636e..b5dffee 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeCoalesceTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeCoalesceTest.java
@@ -44,7 +44,7 @@ public class KeyRangeCoalesceTest extends TestCase {
     }
 
     @Parameters(name="{0} coalesces to {1}")
-    public static Collection<?> data() {
+    public static synchronized Collection<?> data() {
         return Arrays.asList(new Object[][] {
                 {expect(
                     EMPTY_RANGE
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeIntersectTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeIntersectTest.java
index 9e21b69..8327415 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeIntersectTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeIntersectTest.java
@@ -46,7 +46,7 @@ public class KeyRangeIntersectTest extends TestCase {
     }
 
     @Parameters(name="intersection of {0} and {1} is {2}")
-    public static Collection<?> data() {
+    public static synchronized Collection<?> data() {
         return Arrays.asList(new Object[][] {
                 {
                     PChar.INSTANCE.getKeyRange(toBytes("C"), true, toBytes("E"), true),
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeUnionTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeUnionTest.java
index 520e7ee..90b89bb 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeUnionTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/query/KeyRangeUnionTest.java
@@ -44,7 +44,7 @@ public class KeyRangeUnionTest extends TestCase {
     }
 
     @Parameters(name="union of {0} and {1} is {2}")
-    public static Collection<?> data() {
+    public static synchronized Collection<?> data() {
         return Arrays.asList(new Object[][] {
                 {
                     PChar.INSTANCE.getKeyRange(toBytes("C"), true, toBytes("E"), true),
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/ParallelIteratorsSplitTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/ParallelIteratorsSplitTest.java
index 937f0a5..d9dac25 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/query/ParallelIteratorsSplitTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/query/ParallelIteratorsSplitTest.java
@@ -141,7 +141,7 @@ public class ParallelIteratorsSplitTest extends BaseConnectionlessQueryTest {
     }
 
     @Parameters(name="{1} {2}")
-    public static Collection<Object> data() {
+    public static synchronized Collection<Object> data() {
         List<Object> testCases = Lists.newArrayList();
         // Scan range is empty.
         testCases.addAll(
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/schema/ImmutableStorageSchemeTest.java b/phoenix-core/src/test/java/org/apache/phoenix/schema/ImmutableStorageSchemeTest.java
index 3d1b176..2425709 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/schema/ImmutableStorageSchemeTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/schema/ImmutableStorageSchemeTest.java
@@ -69,7 +69,7 @@ public class ImmutableStorageSchemeTest {
     byte serializationVersion;
     
     @Parameters(name="ImmutableStorageSchemeTest_immutableStorageScheme={0},serializationVersion={1}}") // name is used by failsafe as file name in reports
-    public static List<Object[]> data() {
+    public static synchronized List<Object[]> data() {
         return Arrays.asList(new Object[][] {
                 { SINGLE_CELL_ARRAY_WITH_OFFSETS,
                         IMMUTABLE_SERIALIZATION_VERSION },
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/trace/TraceSpanReceiverTest.java b/phoenix-core/src/test/java/org/apache/phoenix/trace/TraceSpanReceiverTest.java
index fa5bc76..bba1dd8 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/trace/TraceSpanReceiverTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/trace/TraceSpanReceiverTest.java
@@ -33,7 +33,7 @@ import org.junit.Test;
 public class TraceSpanReceiverTest {
 
   @BeforeClass
-  public static void setup() throws Exception{
+  public static synchronized void setup() throws Exception{
   }
 
   /**
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/util/ScanUtilTest.java b/phoenix-core/src/test/java/org/apache/phoenix/util/ScanUtilTest.java
index 2d1afba..a8e7354 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/util/ScanUtilTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/util/ScanUtilTest.java
@@ -129,7 +129,7 @@ public class ScanUtilTest {
         }
 
         @Parameters(name = "{0} {1} {2} {3} {4}")
-        public static Collection<Object> data() {
+        public static synchronized Collection<Object> data() {
             List<Object> testCases = Lists.newArrayList();
             // 1, Lower bound, all single keys, all inclusive.
             testCases.addAll(foreach(new KeyRange[][] {
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/util/TenantIdByteConversionTest.java b/phoenix-core/src/test/java/org/apache/phoenix/util/TenantIdByteConversionTest.java
index 3ef9230..a983622 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/util/TenantIdByteConversionTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/util/TenantIdByteConversionTest.java
@@ -89,7 +89,7 @@ public class TenantIdByteConversionTest {
     }
 
     @Parameters
-    public static Collection<Object[]> data() {
+    public static synchronized Collection<Object[]> data() {
         List<Object[]> testCases = Lists.newArrayList();
         // Varchar
         testCases.add(new Object[] {
diff --git a/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java b/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java
index 2f4f4e5..a1ca6fa 100644
--- a/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java
+++ b/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java
@@ -41,7 +41,7 @@ public class ResultBaseTestIT extends BaseHBaseManagedTimeIT {
     protected static List<Path> resources;
     protected static ResultUtil resultUtil = new ResultUtil();
 
-    @BeforeClass public static void setUp() throws Exception {
+    @BeforeClass public static synchronized void setUp() throws Exception {
 
         PherfConstants constants = PherfConstants.create();
         properties = constants.getProperties(PherfConstants.PHERF_PROPERTIES, false);
@@ -53,7 +53,7 @@ public class ResultBaseTestIT extends BaseHBaseManagedTimeIT {
         parser = new XMLConfigParser(matcherScenario);
     }
 
-    @AfterClass public static void tearDown() throws Exception {
+    @AfterClass public static synchronized void tearDown() throws Exception {
     	resultUtil.deleteDir(properties.getProperty("pherf.default.results.dir"));
     }
 }
diff --git a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ResultBaseTest.java b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ResultBaseTest.java
index 5f80063..1853b67 100644
--- a/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ResultBaseTest.java
+++ b/phoenix-pherf/src/test/java/org/apache/phoenix/pherf/ResultBaseTest.java
@@ -30,7 +30,7 @@ public class ResultBaseTest {
     private static Properties properties;
 
     @BeforeClass
-    public static void setUp() throws Exception {
+    public static synchronized void setUp() throws Exception {
         if (isSetUpDone) {
             return;
         }
@@ -41,7 +41,7 @@ public class ResultBaseTest {
         isSetUpDone = true;
     }
     
-    @AfterClass public static void tearDown() throws Exception {
+    @AfterClass public static synchronized void tearDown() throws Exception {
     	new ResultUtil().deleteDir(properties.getProperty("pherf.default.results.dir"));
     }
 }