You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by sa...@apache.org on 2016/08/26 23:16:10 UTC

[06/15] phoenix git commit: Modify phoenix IT tests to extend BaseHBaseManagedTimeTableReuseIT (Prakul Agarwal, Samarth Jain)

http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java
index 6722b67..b47738d 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java
@@ -51,6 +51,7 @@ import org.apache.phoenix.util.MetaDataUtil;
 import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.UpgradeUtil;
+import org.junit.Ignore;
 import org.junit.Test;
 
 public class UpgradeIT extends BaseHBaseManagedTimeIT {
@@ -59,64 +60,74 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT {
 
     @Test
     public void testUpgradeForTenantViewWithSameColumnsAsBaseTable() throws Exception {
-        testViewUpgrade(true, TENANT_ID, null, "TABLEWITHVIEW1", null, "VIEW1", ColumnDiff.EQUAL);
-        testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", "TABLEWITHVIEW", null, "VIEW2",
+        String tableWithViewName = generateRandomString();
+        String viewTableName = generateRandomString();
+        testViewUpgrade(true, TENANT_ID, null, tableWithViewName + "1", null, viewTableName + "1", ColumnDiff.EQUAL);
+        testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", tableWithViewName + "", null, viewTableName + "2",
             ColumnDiff.EQUAL);
-        testViewUpgrade(true, TENANT_ID, null, "TABLEWITHVIEW3", "VIEWSCHEMA", "VIEW3",
+        testViewUpgrade(true, TENANT_ID, null, tableWithViewName + "3", viewTableName + "SCHEMA", viewTableName + "3",
             ColumnDiff.EQUAL);
-        testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", "TABLEWITHVIEW4", "VIEWSCHEMA", "VIEW4",
+        testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", tableWithViewName + "4", viewTableName + "SCHEMA", viewTableName + "4",
             ColumnDiff.EQUAL);
-        testViewUpgrade(true, TENANT_ID, "SAMESCHEMA", "TABLEWITHVIEW5", "SAMESCHEMA", "VIEW5",
+        testViewUpgrade(true, TENANT_ID, "SAMESCHEMA", tableWithViewName + "5", "SAMESCHEMA", viewTableName + "5",
             ColumnDiff.EQUAL);
     }
 
     @Test
     public void testUpgradeForTenantViewWithMoreColumnsThanBaseTable() throws Exception {
-        testViewUpgrade(true, TENANT_ID, null, "TABLEWITHVIEW1", null, "VIEW1", ColumnDiff.MORE);
-        testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", "TABLEWITHVIEW", null, "VIEW2",
+        String tableWithViewName = generateRandomString();
+        String viewTableName = generateRandomString();
+        testViewUpgrade(true, TENANT_ID, null, tableWithViewName + "1", null, viewTableName + "1", ColumnDiff.MORE);
+        testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", tableWithViewName + "", null, viewTableName + "2",
             ColumnDiff.MORE);
-        testViewUpgrade(true, TENANT_ID, null, "TABLEWITHVIEW3", "VIEWSCHEMA", "VIEW3",
+        testViewUpgrade(true, TENANT_ID, null, tableWithViewName + "3", "VIEWSCHEMA", viewTableName + "3",
             ColumnDiff.MORE);
-        testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", "TABLEWITHVIEW4", "VIEWSCHEMA", "VIEW4",
+        testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", tableWithViewName + "4", "VIEWSCHEMA", viewTableName + "4",
             ColumnDiff.MORE);
-        testViewUpgrade(true, TENANT_ID, "SAMESCHEMA", "TABLEWITHVIEW5", "SAMESCHEMA", "VIEW5",
+        testViewUpgrade(true, TENANT_ID, "SAMESCHEMA", tableWithViewName + "5", "SAMESCHEMA", viewTableName + "5",
             ColumnDiff.MORE);
     }
 
     @Test
     public void testUpgradeForViewWithSameColumnsAsBaseTable() throws Exception {
-        testViewUpgrade(false, null, null, "TABLEWITHVIEW1", null, "VIEW1", ColumnDiff.EQUAL);
-        testViewUpgrade(false, null, "TABLESCHEMA", "TABLEWITHVIEW", null, "VIEW2",
+        String tableWithViewName = generateRandomString();
+        String viewTableName = generateRandomString();
+        testViewUpgrade(false, null, null, tableWithViewName + "1", null, viewTableName + "1", ColumnDiff.EQUAL);
+        testViewUpgrade(false, null, "TABLESCHEMA", tableWithViewName + "", null, viewTableName + "2",
             ColumnDiff.EQUAL);
-        testViewUpgrade(false, null, null, "TABLEWITHVIEW3", "VIEWSCHEMA", "VIEW3",
+        testViewUpgrade(false, null, null, tableWithViewName + "3", "VIEWSCHEMA", viewTableName + "3",
             ColumnDiff.EQUAL);
-        testViewUpgrade(false, null, "TABLESCHEMA", "TABLEWITHVIEW4", "VIEWSCHEMA", "VIEW4",
+        testViewUpgrade(false, null, "TABLESCHEMA", tableWithViewName + "4", "VIEWSCHEMA", viewTableName + "4",
             ColumnDiff.EQUAL);
-        testViewUpgrade(false, null, "SAMESCHEMA", "TABLEWITHVIEW5", "SAMESCHEMA", "VIEW5",
+        testViewUpgrade(false, null, "SAMESCHEMA", tableWithViewName + "5", "SAMESCHEMA", viewTableName + "5",
             ColumnDiff.EQUAL);
     }
 
     @Test
     public void testUpgradeForViewWithMoreColumnsThanBaseTable() throws Exception {
-        testViewUpgrade(false, null, null, "TABLEWITHVIEW1", null, "VIEW1", ColumnDiff.MORE);
-        testViewUpgrade(false, null, "TABLESCHEMA", "TABLEWITHVIEW", null, "VIEW2", ColumnDiff.MORE);
-        testViewUpgrade(false, null, null, "TABLEWITHVIEW3", "VIEWSCHEMA", "VIEW3", ColumnDiff.MORE);
-        testViewUpgrade(false, null, "TABLESCHEMA", "TABLEWITHVIEW4", "VIEWSCHEMA", "VIEW4",
+        String tableWithViewName = generateRandomString();
+        String viewTableName = generateRandomString();
+        testViewUpgrade(false, null, null, tableWithViewName + "1", null, viewTableName + "1", ColumnDiff.MORE);
+        testViewUpgrade(false, null, "TABLESCHEMA", tableWithViewName + "", null, viewTableName + "2", ColumnDiff.MORE);
+        testViewUpgrade(false, null, null, tableWithViewName + "3", "VIEWSCHEMA", viewTableName + "3", ColumnDiff.MORE);
+        testViewUpgrade(false, null, "TABLESCHEMA", tableWithViewName + "4", "VIEWSCHEMA", viewTableName + "4",
             ColumnDiff.MORE);
-        testViewUpgrade(false, null, "SAMESCHEMA", "TABLEWITHVIEW5", "SAMESCHEMA", "VIEW5",
+        testViewUpgrade(false, null, "SAMESCHEMA", tableWithViewName + "5", "SAMESCHEMA", viewTableName + "5",
             ColumnDiff.MORE);
     }
 
     @Test
     public void testSettingBaseColumnCountWhenBaseTableColumnDropped() throws Exception {
-        testViewUpgrade(true, TENANT_ID, null, "TABLEWITHVIEW1", null, "VIEW1", ColumnDiff.MORE);
-        testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", "TABLEWITHVIEW", null, "VIEW2",
+        String tableWithViewName = generateRandomString();
+        String viewTableName = generateRandomString();
+        testViewUpgrade(true, TENANT_ID, null, tableWithViewName + "1", null, viewTableName + "1", ColumnDiff.MORE);
+        testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", tableWithViewName + "", null, viewTableName + "2",
             ColumnDiff.LESS);
-        testViewUpgrade(true, TENANT_ID, null, "TABLEWITHVIEW3", "VIEWSCHEMA", "VIEW3",
+        testViewUpgrade(true, TENANT_ID, null, tableWithViewName + "3", "VIEWSCHEMA", viewTableName + "3",
             ColumnDiff.LESS);
-        testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", "TABLEWITHVIEW4", "VIEWSCHEMA", "VIEW4",
+        testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", tableWithViewName + "4", "VIEWSCHEMA", viewTableName + "4",
             ColumnDiff.LESS);
-        testViewUpgrade(true, TENANT_ID, "SAMESCHEMA", "TABLEWITHVIEW5", "SAMESCHEMA", "VIEW5",
+        testViewUpgrade(true, TENANT_ID, "SAMESCHEMA", tableWithViewName + "5", "SAMESCHEMA", viewTableName + "5",
             ColumnDiff.LESS);
     }
 
@@ -127,12 +138,16 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT {
 
         try (Connection conn = DriverManager.getConnection(getUrl())) {
             String schemaName = "TEST";
-            String phoenixFullTableName = schemaName + ".S_NEW";
-            String indexName = "IDX";
-            String localIndexName = "LIDX";
+            String phoenixFullTableName = schemaName + "." + generateRandomString();
+            String indexName = "IDX_" + generateRandomString();
+            String localIndexName = "LIDX_" + generateRandomString();
+
+            String viewName = "VIEW_" + generateRandomString();
+            String viewIndexName = "VIDX_" + generateRandomString();
+
             String[] tableNames = new String[] { phoenixFullTableName, schemaName + "." + indexName,
-                    schemaName + "." + localIndexName, "diff.v", "test.v","v"};
-            String[] viewIndexes = new String[] { "diff.v_idx", "test.v_idx" };
+                    schemaName + "." + localIndexName, "diff." + viewName, "test." + viewName, viewName};
+            String[] viewIndexes = new String[] { "diff." + viewIndexName, "test." + viewIndexName };
             conn.createStatement().execute("CREATE TABLE " + phoenixFullTableName
                     + "(k VARCHAR PRIMARY KEY, v INTEGER, f INTEGER, g INTEGER NULL, h INTEGER NULL)");
             PreparedStatement upsertStmt = conn
@@ -150,13 +165,13 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT {
             // creating global index
             conn.createStatement().execute("create index " + indexName + " on " + phoenixFullTableName + "(k)");
             // creating view in schema 'diff'
-            conn.createStatement().execute("CREATE VIEW diff.v (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
+            conn.createStatement().execute("CREATE VIEW diff." + viewName + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
             // creating view in schema 'test'
-            conn.createStatement().execute("CREATE VIEW test.v (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
-            conn.createStatement().execute("CREATE VIEW v (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
+            conn.createStatement().execute("CREATE VIEW test." + viewName + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
+            conn.createStatement().execute("CREATE VIEW " + viewName + "(col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
             // Creating index on views
-            conn.createStatement().execute("create index v_idx on diff.v(col)");
-            conn.createStatement().execute("create index v_idx on test.v(col)");
+            conn.createStatement().execute("create index " + viewIndexName + "  on diff." + viewName + "(col)");
+            conn.createStatement().execute("create index " + viewIndexName + " on test." + viewName + "(col)");
 
             // validate data
             for (String tableName : tableNames) {
@@ -243,13 +258,18 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT {
             IllegalArgumentException, IOException, InterruptedException {
         String[] strings = new String[] { "a", "b", "c", "d" };
         String schemaName = "TEST";
-        String phoenixFullTableName = schemaName + ".S_NEW1";
+        String phoenixFullTableName = schemaName + "." + generateRandomString();
         String hbaseTableName = SchemaUtil.getPhysicalTableName(Bytes.toBytes(phoenixFullTableName), true)
                 .getNameAsString();
-        String indexName = "IDX";
-        String[] tableNames = new String[] { phoenixFullTableName, "diff.v1", "test.v1", "v1" };
-        String[] viewIndexes = new String[] { "test.v_idx", "diff.v_idx" };
-        String[] tenantViewIndexes = new String[] { "test.v1_idx", "diff.v1_idx" };
+        String indexName = "IDX_" + generateRandomString();
+        String viewName = "V_" + generateRandomString();
+        String viewName1 = "V1_" + generateRandomString();
+        String viewIndexName = "V_IDX_" + generateRandomString();
+        String tenantViewIndexName = "V1_IDX_" + generateRandomString();
+
+        String[] tableNames = new String[] { phoenixFullTableName, "diff." + viewName1, "test." + viewName1, viewName1 };
+        String[] viewIndexes = new String[] { "test." + viewIndexName, "diff." + viewIndexName };
+        String[] tenantViewIndexes = new String[] { "test." + tenantViewIndexName, "diff." + tenantViewIndexName };
         try (Connection conn = DriverManager.getConnection(getUrl())) {
             conn.createStatement().execute("CREATE TABLE " + phoenixFullTableName
                     + "(k VARCHAR not null, v INTEGER not null, f INTEGER, g INTEGER NULL, h INTEGER NULL CONSTRAINT pk PRIMARY KEY(k,v)) MULTI_TENANT=true");
@@ -266,13 +286,13 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT {
             // creating global index
             conn.createStatement().execute("create index " + indexName + " on " + phoenixFullTableName + "(f)");
             // creating view in schema 'diff'
-            conn.createStatement().execute("CREATE VIEW diff.v (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
+            conn.createStatement().execute("CREATE VIEW diff." + viewName + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
             // creating view in schema 'test'
-            conn.createStatement().execute("CREATE VIEW test.v (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
-            conn.createStatement().execute("CREATE VIEW v (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
+            conn.createStatement().execute("CREATE VIEW test." + viewName + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
+            conn.createStatement().execute("CREATE VIEW " + viewName + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
             // Creating index on views
-            conn.createStatement().execute("create local index v_idx on diff.v(col)");
-            conn.createStatement().execute("create local index v_idx on test.v(col)");
+            conn.createStatement().execute("create local index " + viewIndexName + " on diff." + viewName + "(col)");
+            conn.createStatement().execute("create local index " + viewIndexName + " on test." + viewName + "(col)");
         }
         Properties props = new Properties();
         String tenantId = "a";
@@ -289,14 +309,14 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT {
             conn.commit();
             // creating view in schema 'diff'
             conn.createStatement()
-                    .execute("CREATE VIEW diff.v1 (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
+                    .execute("CREATE VIEW diff." + viewName1 + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
             // creating view in schema 'test'
             conn.createStatement()
-                    .execute("CREATE VIEW test.v1 (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
-            conn.createStatement().execute("CREATE VIEW v1 (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
+                    .execute("CREATE VIEW test." + viewName1 + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
+            conn.createStatement().execute("CREATE VIEW " + viewName1 + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName);
             // Creating index on views
-            conn.createStatement().execute("create index v1_idx on diff.v1(col)");
-            conn.createStatement().execute("create index v1_idx on test.v1(col)");
+            conn.createStatement().execute("create index " + tenantViewIndexName + " on diff." + viewName1 + "(col)");
+            conn.createStatement().execute("create index " + tenantViewIndexName + " on test." + viewName1 + "(col)");
         }
 
         props = new Properties();
@@ -352,7 +372,7 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT {
         assertTrue(rs.getString(1).contains(hbaseTableName));
     }
     
-    
+
     @Test
     public void testSettingBaseColumnCountForMultipleViewsOnTable() throws Exception {
         String baseSchema = "XYZ";
@@ -361,13 +381,13 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT {
         try (Connection conn = DriverManager.getConnection(getUrl())) {
             String baseTableDDL = "CREATE TABLE " + fullBaseTableName + " (TENANT_ID VARCHAR NOT NULL, PK1 VARCHAR NOT NULL, V1 INTEGER, V2 INTEGER CONSTRAINT NAME_PK PRIMARY KEY(TENANT_ID, PK1)) MULTI_TENANT = true";
             conn.createStatement().execute(baseTableDDL);
-            
+
             for (int i = 1; i <=2; i++) {
                 // Create views for tenants;
                 String tenant = "tenant" + i;
                 try (Connection tenantConn = createTenantConnection(tenant)) {
                     String view = "TENANT_VIEW1";
-                    
+
                     // view with its own column
                     String viewDDL = "CREATE VIEW " + view + " AS SELECT * FROM " + fullBaseTableName;
                     tenantConn.createStatement().execute(viewDDL);
@@ -392,11 +412,11 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT {
                     removeBaseColumnCountKV(tenant, null, view);
                 }
             }
-            
+
             // create global views
             try (Connection globalConn = DriverManager.getConnection(getUrl())) {
                 String view = "GLOBAL_VIEW1";
-                
+
                 // view with its own column
                 String viewDDL = "CREATE VIEW " + view + " AS SELECT * FROM " + fullBaseTableName;
                 globalConn.createStatement().execute(viewDDL);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertBigValuesIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertBigValuesIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertBigValuesIT.java
index 3d1bb4a..564fdd9 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertBigValuesIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertBigValuesIT.java
@@ -30,7 +30,7 @@ import java.util.Properties;
 import org.junit.Test;
 
 
-public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
+public class UpsertBigValuesIT extends BaseHBaseManagedTimeTableReuseIT {
 
     private static final long INTEGER_MIN_MINUS_ONE = (long)Integer.MIN_VALUE - 1;
     private static final long INTEGER_MAX_PLUS_ONE = (long)Integer.MAX_VALUE + 1;
@@ -39,10 +39,11 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
     public void testIntegerPK() throws Exception {
         int[] testNumbers = {Integer.MIN_VALUE, Integer.MIN_VALUE + 1,
                 -2, -1, 0, 1, 2, Integer.MAX_VALUE - 1, Integer.MAX_VALUE};
-        ensureTableCreated(getUrl(),"PKIntValueTest");
+        String tableName = generateRandomString();
+        ensureTableCreated(getUrl(), tableName,"PKIntValueTest");
         Properties props = new Properties();
         Connection conn = DriverManager.getConnection(getUrl(), props);
-        String upsert = "UPSERT INTO PKIntValueTest VALUES(?)";
+        String upsert = "UPSERT INTO " + tableName + " VALUES(?)";
         PreparedStatement stmt = conn.prepareStatement(upsert);
         for (int i = 0; i < testNumbers.length; i++) {
             stmt.setInt(1, testNumbers[i]);
@@ -51,18 +52,18 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         conn.commit();
         conn.close();
         
-        String select = "SELECT COUNT(*) from PKIntValueTest";
+        String select = "SELECT COUNT(*) from " + tableName ;
         ResultSet rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
         
-        select = "SELECT count(*) FROM PKIntValueTest where pk >= " + Integer.MIN_VALUE;
+        select = "SELECT count(*) FROM " + tableName + " where pk >= " + Integer.MIN_VALUE;
         rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
-        select = "SELECT pk FROM PKIntValueTest where pk >= " + Integer.MIN_VALUE + 
+        select = "SELECT pk FROM " + tableName + " where pk >= " + Integer.MIN_VALUE +
                 " GROUP BY pk ORDER BY pk ASC NULLS LAST";
         rs = conn.createStatement().executeQuery(select);
         for (int i = 0; i < testNumbers.length; i++) {
@@ -73,12 +74,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         
         // NOTE: This case currently fails with an error message:
         // "Overflow trying to get next key for [-1, -1, -1, -1]"
-        select = "SELECT count(*) FROM PKIntValueTest where pk <= " + Integer.MAX_VALUE;
+        select = "SELECT count(*) FROM " + tableName + " where pk <= " + Integer.MAX_VALUE;
         rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
-        select = "SELECT pk FROM PKIntValueTest where pk <= " + Integer.MAX_VALUE + 
+        select = "SELECT pk FROM " + tableName + " where pk <= " + Integer.MAX_VALUE +
                 " GROUP BY pk ORDER BY pk DESC NULLS LAST";
         rs = conn.createStatement().executeQuery(select);
         for (int i = testNumbers.length - 1; i >= 0; i--) {
@@ -88,12 +89,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         assertFalse(rs.next());
         
         // NOTE: This case currently fails since it is not retrieving the negative values.
-        select = "SELECT count(*) FROM PKIntValueTest where pk >= " + INTEGER_MIN_MINUS_ONE;
+        select = "SELECT count(*) FROM " + tableName + " where pk >= " + INTEGER_MIN_MINUS_ONE;
         rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
-        select = "SELECT pk FROM PKIntValueTest where pk >= " + INTEGER_MIN_MINUS_ONE + 
+        select = "SELECT pk FROM " + tableName + " where pk >= " + INTEGER_MIN_MINUS_ONE +
                 " GROUP BY pk ORDER BY pk ASC NULLS LAST ";
         rs = conn.createStatement().executeQuery(select);
         for (int i = 0; i < testNumbers.length; i++) {
@@ -103,12 +104,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         assertFalse(rs.next());
         
         // NOTE: This test case fails because it is not retrieving positive values.
-        select = "SELECT count(*) FROM PKIntValueTest where pk <= " + INTEGER_MAX_PLUS_ONE;
+        select = "SELECT count(*) FROM " + tableName + " where pk <= " + INTEGER_MAX_PLUS_ONE;
         rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
-        select = "SELECT pk FROM PKIntValueTest where pk <= " + INTEGER_MAX_PLUS_ONE + 
+        select = "SELECT pk FROM " + tableName + " where pk <= " + INTEGER_MAX_PLUS_ONE +
                 " GROUP BY pk ORDER BY pk DESC NULLS LAST";
         rs = conn.createStatement().executeQuery(select);
         for (int i = testNumbers.length - 1; i >= 0; i--) {
@@ -123,12 +124,13 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
       // NOTE: Due to how we parse negative long, -9223372036854775808L, the minimum value of 
       // bigint is not recognizable in the current version. As a result, we start with 
       // Long.MIN_VALUE+1 as the smallest value.
+        String tableName = generateRandomString();
         long[] testNumbers = {Long.MIN_VALUE+1 , Long.MIN_VALUE+2 , 
                 -2L, -1L, 0L, 1L, 2L, Long.MAX_VALUE-1, Long.MAX_VALUE};
-        ensureTableCreated(getUrl(),"PKBigIntValueTest");
+        ensureTableCreated(getUrl(), tableName, "PKBigIntValueTest" );
         Properties props = new Properties();
         Connection conn = DriverManager.getConnection(getUrl(), props);
-        String upsert = "UPSERT INTO PKBigIntValueTest VALUES(?)";
+        String upsert = "UPSERT INTO " + tableName + " VALUES(?)";
         PreparedStatement stmt = conn.prepareStatement(upsert);
         for (int i=0; i<testNumbers.length; i++) {
             stmt.setLong(1, testNumbers[i]);
@@ -137,18 +139,18 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         conn.commit();
         conn.close();
         
-        String select = "SELECT COUNT(*) from PKBigIntValueTest";
+        String select = "SELECT COUNT(*) from " + tableName ;
         ResultSet rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
         
-        select = "SELECT count(*) FROM PKBigIntValueTest where pk >= " + (Long.MIN_VALUE + 1);
+        select = "SELECT count(*) FROM " + tableName + " where pk >= " + (Long.MIN_VALUE + 1);
         rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
-        select = "SELECT pk FROM PKBigIntValueTest WHERE pk >= " + (Long.MIN_VALUE + 1) +
+        select = "SELECT pk FROM " + tableName + " WHERE pk >= " + (Long.MIN_VALUE + 1) +
                 " GROUP BY pk ORDER BY pk ASC NULLS LAST";
         rs = conn.createStatement().executeQuery(select);
         for (int i = 0; i < testNumbers.length; i++) {
@@ -157,12 +159,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         }
         assertFalse(rs.next());
         
-        select = "SELECT count(*) FROM PKBigIntValueTest where pk <= " + Long.MAX_VALUE;
+        select = "SELECT count(*) FROM " + tableName + " where pk <= " + Long.MAX_VALUE;
         rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
-        select = "SELECT pk FROM PKBigIntValueTest WHERE pk <= " + Long.MAX_VALUE + 
+        select = "SELECT pk FROM " + tableName + " WHERE pk <= " + Long.MAX_VALUE +
                 " GROUP BY pk ORDER BY pk DESC NULLS LAST";
         rs = conn.createStatement().executeQuery(select);
         for (int i = testNumbers.length - 1; i >= 0; i--) {
@@ -206,12 +208,13 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
 
     @Test
     public void testIntegerKV() throws Exception {
+        String tableName = generateRandomString();
         int[] testNumbers = {Integer.MIN_VALUE, Integer.MIN_VALUE + 1, 
                 -2, -1, 0, 1, 2, Integer.MAX_VALUE - 1, Integer.MAX_VALUE};
-        ensureTableCreated(getUrl(),"KVIntValueTest");
+        ensureTableCreated(getUrl(), tableName, "KVIntValueTest" );
         Properties props = new Properties();
         Connection conn = DriverManager.getConnection(getUrl(), props);
-        String upsert = "UPSERT INTO KVIntValueTest VALUES(?, ?)";
+        String upsert = "UPSERT INTO " + tableName + " VALUES(?, ?)";
         PreparedStatement stmt = conn.prepareStatement(upsert);
         for (int i=0; i<testNumbers.length; i++) {
             stmt.setInt(1, i);
@@ -221,18 +224,18 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         conn.commit();
         conn.close();
         
-        String select = "SELECT COUNT(*) from KVIntValueTest";
+        String select = "SELECT COUNT(*) from " + tableName ;
         ResultSet rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
         
-        select = "SELECT count(*) FROM KVIntValueTest where kv >= " + Integer.MIN_VALUE;
+        select = "SELECT count(*) FROM " + tableName + " where kv >= " + Integer.MIN_VALUE;
         rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
-        select = "SELECT kv FROM KVIntValueTest WHERE kv >= " + Integer.MIN_VALUE +
+        select = "SELECT kv FROM " + tableName + " WHERE kv >= " + Integer.MIN_VALUE +
                 " GROUP BY kv ORDER BY kv ASC NULLS LAST";
         rs = conn.createStatement().executeQuery(select);
         for (int i=0; i<testNumbers.length; i++) {
@@ -241,12 +244,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         }
         assertFalse(rs.next());
         
-        select = "SELECT count(*) FROM KVIntValueTest where kv <= " + Integer.MAX_VALUE;
+        select = "SELECT count(*) FROM " + tableName + " where kv <= " + Integer.MAX_VALUE;
         rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
-        select = "SELECT kv FROM KVIntValueTest WHERE kv <= " + Integer.MAX_VALUE +
+        select = "SELECT kv FROM " + tableName + " WHERE kv <= " + Integer.MAX_VALUE +
                 " GROUP BY kv ORDER BY kv DESC NULLS LAST";
         rs = conn.createStatement().executeQuery(select);
         for (int i=testNumbers.length-1; i>=0; i--) {
@@ -255,12 +258,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         }
         assertFalse(rs.next());
         
-        select = "SELECT count(*) FROM KVIntValueTest where kv >= " + INTEGER_MIN_MINUS_ONE;
+        select = "SELECT count(*) FROM " + tableName + " where kv >= " + INTEGER_MIN_MINUS_ONE;
         rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
-        select = "SELECT kv FROM KVIntValueTest WHERE kv >= " + INTEGER_MIN_MINUS_ONE +
+        select = "SELECT kv FROM " + tableName + " WHERE kv >= " + INTEGER_MIN_MINUS_ONE +
                 " GROUP BY kv ORDER BY kv ASC NULLS LAST ";
         rs = conn.createStatement().executeQuery(select);
         for (int i=0; i<testNumbers.length; i++) {
@@ -269,12 +272,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         }
         assertFalse(rs.next());
         
-        select = "SELECT count(*) FROM KVIntValueTest where kv <= " + INTEGER_MAX_PLUS_ONE;
+        select = "SELECT count(*) FROM " + tableName + " where kv <= " + INTEGER_MAX_PLUS_ONE;
         rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
-        select = "SELECT kv FROM KVIntValueTest WHERE kv <= " + INTEGER_MAX_PLUS_ONE +
+        select = "SELECT kv FROM " + tableName + " WHERE kv <= " + INTEGER_MAX_PLUS_ONE +
                 " GROUP BY kv ORDER BY kv DESC NULLS LAST";
         rs = conn.createStatement().executeQuery(select);
         for (int i=testNumbers.length-1; i>=0; i--) {
@@ -289,12 +292,13 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         // NOTE: Due to how we parse negative long, -9223372036854775808L, the minimum value of 
         // bigint is not recognizable in the current version. As a result, we start with 
         // Long.MIN_VALUE+1 as the smallest value.
+        String tableName = generateRandomString();
         long[] testNumbers = {Long.MIN_VALUE+1, Long.MIN_VALUE+2, 
                 -2L, -1L, 0L, 1L, 2L, Long.MAX_VALUE-1, Long.MAX_VALUE};
-        ensureTableCreated(getUrl(),"KVBigIntValueTest");
+        ensureTableCreated(getUrl(), tableName, "KVBigIntValueTest" );
         Properties props = new Properties();
         Connection conn = DriverManager.getConnection(getUrl(), props);
-        String upsert = "UPSERT INTO KVBigIntValueTest VALUES(?,?)";
+        String upsert = "UPSERT INTO " + tableName + " VALUES(?,?)";
         PreparedStatement stmt = conn.prepareStatement(upsert);
         for (int i = 0; i < testNumbers.length; i++) {
             stmt.setLong(1, i);
@@ -304,18 +308,18 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         conn.commit();
         conn.close();
         
-        String select = "SELECT COUNT(*) from KVBigIntValueTest";
+        String select = "SELECT COUNT(*) from " + tableName ;
         ResultSet rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
         
-        select = "SELECT count(*) FROM KVBigIntValueTest where kv >= " + (Long.MIN_VALUE+1);
+        select = "SELECT count(*) FROM " + tableName + " where kv >= " + (Long.MIN_VALUE+1);
         rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
-        select = "SELECT kv FROM KVBigIntValueTest WHERE kv >= " + (Long.MIN_VALUE+1) + 
+        select = "SELECT kv FROM " + tableName + " WHERE kv >= " + (Long.MIN_VALUE+1) + 
                 " GROUP BY kv ORDER BY kv ASC NULLS LAST";
         rs = conn.createStatement().executeQuery(select);
         for (int i = 0; i < testNumbers.length; i++) {
@@ -324,12 +328,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT {
         }
         assertFalse(rs.next());
         
-        select = "SELECT count(*) FROM KVBigIntValueTest where kv <= " + Long.MAX_VALUE;
+        select = "SELECT count(*) FROM " + tableName + " where kv <= " + Long.MAX_VALUE;
         rs = conn.createStatement().executeQuery(select);
         assertTrue(rs.next());
         assertEquals(testNumbers.length, rs.getInt(1));
         assertFalse(rs.next());
-        select = "SELECT kv FROM KVBigIntValueTest WHERE kv <= " + Long.MAX_VALUE +
+        select = "SELECT kv FROM " + tableName + " WHERE kv <= " + Long.MAX_VALUE +
                 " GROUP BY kv ORDER BY kv DESC NULLS LAST";
         rs = conn.createStatement().executeQuery(select);
         for (int i = testNumbers.length-1; i >= 0; i--) {

http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java
----------------------------------------------------------------------
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 4d811a4..8c9c8eb 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
@@ -29,6 +29,7 @@ import static org.apache.phoenix.util.TestUtil.ROW7;
 import static org.apache.phoenix.util.TestUtil.ROW8;
 import static org.apache.phoenix.util.TestUtil.ROW9;
 import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+import static org.apache.phoenix.util.TestUtil.ATABLE_NAME;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -88,8 +89,9 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT {
     private void testUpsertSelect(boolean createIndex) throws Exception {
         long ts = nextTimestamp();
         String tenantId = getOrganizationId();
-        initATableValues(tenantId, getDefaultSplits(tenantId), null, ts-1);
-        ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, ts-1);
+        initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts-1, getUrl());
+
+        ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, CUSTOM_ENTITY_DATA_FULL_NAME, ts-1);
         String indexName = "IDX1";
         if (createIndex) {
             Properties props = new Properties();
@@ -208,8 +210,8 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT {
     public void testUpsertSelectEmptyPKColumn() throws Exception {
         long ts = nextTimestamp();
         String tenantId = getOrganizationId();
-        initATableValues(tenantId, getDefaultSplits(tenantId), null, ts-1);
-        ensureTableCreated(getUrl(), PTSDB_NAME, ts-1);
+        initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts-1, getUrl());
+        ensureTableCreated(getUrl(), PTSDB_NAME, PTSDB_NAME, ts-1);
         Properties props = new Properties();
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1)); // Execute at timestamp 1
         Connection conn = DriverManager.getConnection(getUrl(), props);
@@ -384,8 +386,8 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT {
     private void testUpsertSelectForAgg(boolean autoCommit) throws Exception {
         long ts = nextTimestamp();
         String tenantId = getOrganizationId();
-        initATableValues(tenantId, getDefaultSplits(tenantId), null, ts-1);
-        ensureTableCreated(getUrl(), PTSDB_NAME, ts-1);
+        initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts-1, getUrl());
+        ensureTableCreated(getUrl(), PTSDB_NAME, PTSDB_NAME, ts-1);
         Properties props = new Properties();
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1)); // Execute at timestamp 1
         Connection conn = DriverManager.getConnection(getUrl(), props);
@@ -460,7 +462,7 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT {
         byte[][] splits = new byte[][] { PInteger.INSTANCE.toBytes(1), PInteger.INSTANCE.toBytes(2),
                 PInteger.INSTANCE.toBytes(3), PInteger.INSTANCE.toBytes(4)};
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),"IntKeyTest",splits, ts-2);
+        ensureTableCreated(getUrl(),"IntKeyTest", "IntKeyTest", splits, ts-2);
         Properties props = new Properties();
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1));
         Connection conn = DriverManager.getConnection(getUrl(), props);
@@ -600,7 +602,7 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT {
         byte[][] splits = new byte[][] { PInteger.INSTANCE.toBytes(1), PInteger.INSTANCE.toBytes(2),
                 PInteger.INSTANCE.toBytes(3), PInteger.INSTANCE.toBytes(4)};
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),"IntKeyTest",splits,ts-2);
+        ensureTableCreated(getUrl(),"IntKeyTest", "IntKeyTest", splits,ts-2);
         Properties props = new Properties();
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1));
         Connection conn = DriverManager.getConnection(getUrl(), props);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertValuesIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertValuesIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertValuesIT.java
index 9bbe23e..9725175 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertValuesIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertValuesIT.java
@@ -52,7 +52,7 @@ public class UpsertValuesIT extends BaseClientManagedTimeIT {
     @Test
     public void testGroupByWithLimitOverRowKey() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),TestUtil.PTSDB_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),TestUtil.PTSDB_NAME,TestUtil.PTSDB_NAME, null, ts-2);
         Properties props = new Properties();
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 10));
         Connection conn = DriverManager.getConnection(getUrl(), props);
@@ -85,7 +85,7 @@ public class UpsertValuesIT extends BaseClientManagedTimeIT {
     public void testUpsertDateValues() throws Exception {
         long ts = nextTimestamp();
         Date now = new Date(System.currentTimeMillis());
-        ensureTableCreated(getUrl(),TestUtil.PTSDB_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),TestUtil.PTSDB_NAME,TestUtil.PTSDB_NAME,null, ts-2);
         Properties props = new Properties();
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1)); // Execute at timestamp 1
         Connection conn = DriverManager.getConnection(getUrl(), props);
@@ -114,7 +114,7 @@ public class UpsertValuesIT extends BaseClientManagedTimeIT {
     @Test
     public void testUpsertValuesWithExpression() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),"IntKeyTest",null, ts-2);
+        ensureTableCreated(getUrl(),"IntKeyTest","IntKeyTest", null, ts-2);
         Properties props = new Properties();
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1)); // Execute at timestamp 1
         Connection conn = DriverManager.getConnection(getUrl(), props);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java
index cec23ed..c42c287 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java
@@ -41,16 +41,18 @@ import org.apache.phoenix.util.SchemaUtil;
 import org.apache.phoenix.util.TestUtil;
 import org.junit.Test;
 
-public class UseSchemaIT extends BaseHBaseManagedTimeIT {
+public class UseSchemaIT extends BaseHBaseManagedTimeTableReuseIT {
 
     @Test
     public void testUseSchemaCaseInsensitive() throws Exception {
-        testUseSchema("TEST_SCHEMA");
+        String schemaName = generateRandomString();
+        testUseSchema(schemaName);
     }
 
     @Test
     public void testUseSchemaCaseSensitive() throws Exception {
-        testUseSchema("\"test_schema\"");
+        String schemaName = generateRandomString();
+        testUseSchema("\"" + schemaName + "\"");
     }
 
     public void testUseSchema(String schema) throws Exception {
@@ -59,25 +61,26 @@ public class UseSchemaIT extends BaseHBaseManagedTimeIT {
         Connection conn = DriverManager.getConnection(getUrl(), props);
         String ddl = "CREATE SCHEMA IF NOT EXISTS "+schema;
         conn.createStatement().execute(ddl);
-        ddl = "create table "+schema+".TEST(id varchar primary key)";
+        String testTable = generateRandomString();
+        ddl = "create table "+schema+"." + testTable + "(id varchar primary key)";
         conn.createStatement().execute(ddl);
         conn.createStatement().execute("use "+schema);
-        String query = "select count(*) from TEST";
+        String query = "select count(*) from " + testTable;
         ResultSet rs = conn.createStatement().executeQuery(query);
         assertTrue(rs.next());
         assertEquals(0, rs.getInt(1));
         try {
-            conn.createStatement().execute("use test");
+            conn.createStatement().execute("use " + testTable);
             fail();
         } catch (SQLException e) {
             assertEquals(SQLExceptionCode.SCHEMA_NOT_FOUND.getErrorCode(), e.getErrorCode());
         }
         conn.createStatement().execute("use default");
-        ddl = "create table IF NOT EXISTS TEST(schema_name varchar primary key)";
+        ddl = "create table IF NOT EXISTS " + testTable + "(schema_name varchar primary key)";
         conn.createStatement().execute(ddl);
-        conn.createStatement().executeUpdate("upsert into test values('"+SchemaUtil.SCHEMA_FOR_DEFAULT_NAMESPACE+"')");
+        conn.createStatement().executeUpdate("upsert into " + testTable + " values('"+SchemaUtil.SCHEMA_FOR_DEFAULT_NAMESPACE+"')");
         conn.commit();
-        rs = conn.createStatement().executeQuery("select schema_name from TEST");
+        rs = conn.createStatement().executeQuery("select schema_name from " + testTable);
         assertTrue(rs.next());
         assertEquals(SchemaUtil.SCHEMA_FOR_DEFAULT_NAMESPACE, rs.getString(1));
         conn.close();
@@ -86,29 +89,30 @@ public class UseSchemaIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testSchemaInJdbcUrl() throws Exception {
         Properties props = new Properties();
-        String schema = "TEST_SCHEMA";
+        String schema = generateRandomString();
         props.setProperty(QueryServices.SCHEMA_ATTRIB, schema);
         props.setProperty(QueryServices.IS_NAMESPACE_MAPPING_ENABLED, Boolean.toString(true));
         Connection conn = DriverManager.getConnection(getUrl(), props);
         conn.setAutoCommit(true);
         String ddl = "CREATE SCHEMA IF NOT EXISTS " + schema;
         conn.createStatement().execute(ddl);
-        ddl = "create table IF NOT EXISTS " + schema + ".test(schema_name varchar primary key)";
+        String testTable = generateRandomString();
+        ddl = "create table IF NOT EXISTS " + schema + "." + testTable + " (schema_name varchar primary key)";
         conn.createStatement().execute(ddl);
-        conn.createStatement().executeUpdate("upsert into " + schema + ".test values('" + schema + "')");
-        String query = "select schema_name from test";
+        conn.createStatement().executeUpdate("upsert into " + schema + "." + testTable + " values('" + schema + "')");
+        String query = "select schema_name from " + testTable;
         ResultSet rs = conn.createStatement().executeQuery(query);
         assertTrue(rs.next());
         assertEquals(schema, rs.getString(1));
 
-        schema = "test";
+        schema = generateRandomString();
         ddl = "CREATE SCHEMA " + schema;
         conn.createStatement().execute(ddl);
         conn.createStatement().execute("use " + schema);
-        ddl = "create table test(schema_name varchar primary key)";
+        ddl = "create table " + testTable + "(schema_name varchar primary key)";
         conn.createStatement().execute(ddl);
-        conn.createStatement().executeUpdate("upsert into test values('" + schema + "')");
-        rs = conn.createStatement().executeQuery("select schema_name from test");
+        conn.createStatement().executeUpdate("upsert into " + testTable + " values('" + schema + "')");
+        rs = conn.createStatement().executeQuery("select schema_name from " + testTable );
         assertTrue(rs.next());
         assertEquals(schema, rs.getString(1));
         conn.close();
@@ -117,8 +121,8 @@ public class UseSchemaIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testMappedView() throws Exception {
         Properties props = new Properties();
-        String schema = "TEST_SCHEMA_V";
-        String tableName = "TEST";
+        String schema = generateRandomString();
+        String tableName = generateRandomString();
         String fullTablename = schema + QueryConstants.NAME_SEPARATOR + tableName;
         props.setProperty(QueryServices.SCHEMA_ATTRIB, schema);
         Connection conn = DriverManager.getConnection(getUrl(), props);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java
index c0b557c..4bc0f43 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java
@@ -58,7 +58,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     }
 
     protected static void initGroupByRowKeyColumns(long ts) throws Exception {
-        ensureTableCreated(getUrl(),PTSDB_NAME, null, ts-2);
+        ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2);
 
         // Insert all rows at ts
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts;
@@ -85,7 +85,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     }
 
     protected static void initTableValues(byte[][] splits, long ts) throws Exception {
-        ensureTableCreated(getUrl(),PTSDB_NAME, splits, ts-2);
+        ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, splits, ts-2);
 
         // Insert all rows at ts
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts;
@@ -106,7 +106,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
         stmt.setBigDecimal(4, new BigDecimal(.5));
         stmt.execute();
 
-        ensureTableCreated(getUrl(),BTABLE_NAME, splits, ts-2);
+        ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, splits, ts-2);
         conn.setAutoCommit(false);
 
         // Insert all rows at ts
@@ -431,7 +431,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testNullValueEqualityScan() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2);
 
         // Insert all rows at ts
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts;
@@ -459,7 +459,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testVarLengthPKColScan() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2);
 
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
@@ -489,7 +489,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testEscapedQuoteScan() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2);
+        ensureTableCreated(getUrl(), PTSDB_NAME, PTSDB_NAME, null, ts-2);
 
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
@@ -527,7 +527,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     }
 
     private static void initPtsdbTableValues(long ts) throws Exception {
-        ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2);
 
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
@@ -560,7 +560,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     }
 
     private static void initPtsdbTableValues2(long ts, Date d) throws Exception {
-        ensureTableCreated(getUrl(),PTSDB2_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),PTSDB2_NAME, PTSDB2_NAME, null, ts-2);
 
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
@@ -696,7 +696,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testBatchUpsert() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),PTSDB2_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),PTSDB2_NAME, PTSDB2_NAME, null, ts-2);
         Date d = new Date(ts);
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
         props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
@@ -874,7 +874,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testMissingPKColumn() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2);
 
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
@@ -894,7 +894,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testNoKVColumn() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),BTABLE_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, null, ts-2);
 
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
@@ -914,7 +914,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     // Broken, since we don't know if insert vs update. @Test
     public void testMissingKVColumn() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),BTABLE_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, null, ts-2);
 
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
@@ -942,7 +942,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testTooShortKVColumn() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),BTABLE_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, null, ts-2);
 
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
@@ -978,7 +978,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testTooShortPKColumn() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),BTABLE_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, null, ts-2);
 
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
@@ -1014,7 +1014,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testTooLongPKColumn() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),BTABLE_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, null, ts-2);
 
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
@@ -1051,7 +1051,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testTooLongKVColumn() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),BTABLE_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, null, ts-2);
 
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
@@ -1481,7 +1481,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testLikeOnColumn() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2);
 
         // Insert all rows at ts
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts;
@@ -1598,7 +1598,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testILikeOnColumn() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2);
 
         // Insert all rows at ts
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts;
@@ -1730,7 +1730,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT {
     @Test
     public void testIsNullInPK() throws Exception {
         long ts = nextTimestamp();
-        ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2);
+        ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2);
 
         // Insert all rows at ts
         String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropMetadataIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropMetadataIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropMetadataIT.java
index ec360ad..93f8e27 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropMetadataIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropMetadataIT.java
@@ -18,9 +18,7 @@
 package org.apache.phoenix.end2end.index;
 
 import static org.apache.phoenix.util.PhoenixRuntime.TENANT_ID_ATTRIB;
-import static org.apache.phoenix.util.TestUtil.HBASE_NATIVE;
-import static org.apache.phoenix.util.TestUtil.HBASE_NATIVE_SCHEMA_NAME;
-import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+import static org.apache.phoenix.util.TestUtil.*;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
@@ -41,7 +39,7 @@ import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;
 import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT;
+import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT;
 import org.apache.phoenix.end2end.Shadower;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryConstants;
@@ -61,17 +59,12 @@ import org.junit.Test;
 
 import com.google.common.collect.Maps;
 
-public class DropMetadataIT extends BaseHBaseManagedTimeIT {
-    private static final byte[] HBASE_NATIVE_BYTES = SchemaUtil.getTableNameAsBytes(HBASE_NATIVE_SCHEMA_NAME, HBASE_NATIVE);
+public class DropMetadataIT extends BaseHBaseManagedTimeTableReuseIT {
     private static final byte[] FAMILY_NAME = Bytes.toBytes(SchemaUtil.normalizeIdentifier("1"));
     public static final String SCHEMA_NAME = "";
-    public static final String DATA_TABLE_NAME = "T";
-    public static final String INDEX_TABLE_NAME = "I";
-    public static final String DATA_TABLE_FULL_NAME = SchemaUtil.getTableName(SCHEMA_NAME, "T");
-    public static final String INDEX_TABLE_FULL_NAME = SchemaUtil.getTableName(SCHEMA_NAME, "I");
     private final String TENANT_SPECIFIC_URL = getUrl() + ';' + TENANT_ID_ATTRIB + "=tenant1";
     
-    @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class)
+    @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class)
     @BeforeClass 
     public static void doSetup() throws Exception {
         Map<String,String> props = Maps.newHashMapWithExpectedSize(1);
@@ -84,14 +77,12 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testDropViewKeepsHTable() throws Exception {
         HBaseAdmin admin = driver.getConnectionQueryServices(getUrl(), TEST_PROPERTIES).getAdmin();
+        String hbaseNativeViewName = generateRandomString();
+
+        byte[] hbaseNativeBytes = SchemaUtil.getTableNameAsBytes(HBASE_NATIVE_SCHEMA_NAME, hbaseNativeViewName);
         try {
-            try {
-                admin.disableTable(HBASE_NATIVE_BYTES);
-                admin.deleteTable(HBASE_NATIVE_BYTES);
-            } catch (org.apache.hadoop.hbase.TableNotFoundException e) {
-            }
             @SuppressWarnings("deprecation")
-            HTableDescriptor descriptor = new HTableDescriptor(HBASE_NATIVE_BYTES);
+            HTableDescriptor descriptor = new HTableDescriptor(hbaseNativeBytes);
             HColumnDescriptor columnDescriptor =  new HColumnDescriptor(FAMILY_NAME);
             columnDescriptor.setKeepDeletedCells(true);
             descriptor.addFamily(columnDescriptor);
@@ -102,7 +93,7 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT {
         
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
         Connection conn = DriverManager.getConnection(getUrl(), props);
-        conn.createStatement().execute("create view " + HBASE_NATIVE +
+        conn.createStatement().execute("create view " + hbaseNativeViewName+
                 "   (uint_key unsigned_int not null," +
                 "    ulong_key unsigned_long not null," +
                 "    string_key varchar not null,\n" +
@@ -110,41 +101,32 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT {
                 "    \"1\".ulong_col unsigned_long" +
                 "    CONSTRAINT pk PRIMARY KEY (uint_key, ulong_key, string_key))\n" +
                      HColumnDescriptor.DATA_BLOCK_ENCODING + "='" + DataBlockEncoding.NONE + "'");
-        conn.createStatement().execute("drop view " + HBASE_NATIVE);
-        
-        admin = driver.getConnectionQueryServices(getUrl(), PropertiesUtil.deepCopy(TEST_PROPERTIES)).getAdmin();
-        try {
-            try {
-                admin.disableTable(HBASE_NATIVE_BYTES);
-                admin.deleteTable(HBASE_NATIVE_BYTES);
-            } catch (org.apache.hadoop.hbase.TableNotFoundException e) {
-                fail(); // The underlying HBase table should still exist
-            }
-        } finally {
-            admin.close();
-        }
+        conn.createStatement().execute("drop view " + hbaseNativeViewName);
+
     }
     
     @Test
     public void testDroppingIndexedColDropsIndex() throws Exception {
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
-        String localIndexTableName1 = "LOCAL_" + INDEX_TABLE_NAME + "_1";
-        String localIndexTableName2 = "LOCAL_" + INDEX_TABLE_NAME + "_2";
+        String indexTableName = generateRandomString();
+        String dataTableFullName = SchemaUtil.getTableName(SCHEMA_NAME, generateRandomString());
+        String localIndexTableName1 = "LOCAL_" + indexTableName + "_1";
+        String localIndexTableName2 = "LOCAL_" + indexTableName + "_2";
         try (Connection conn = DriverManager.getConnection(getUrl(), props)) {
             conn.setAutoCommit(false);
             conn.createStatement().execute(
-                "CREATE TABLE " + DATA_TABLE_FULL_NAME
+                "CREATE TABLE " + dataTableFullName
                         + " (k VARCHAR NOT NULL PRIMARY KEY, v1 VARCHAR, v2 VARCHAR)");
             // create one regular and two local indexes
             conn.createStatement().execute(
-                "CREATE INDEX " + INDEX_TABLE_NAME + " ON " + DATA_TABLE_FULL_NAME + " (v2) INCLUDE (v1)");
+                "CREATE INDEX " + indexTableName + " ON " + dataTableFullName + " (v2) INCLUDE (v1)");
             conn.createStatement().execute(
-                "CREATE LOCAL INDEX " + localIndexTableName1 + " ON " + DATA_TABLE_FULL_NAME + " (v2) INCLUDE (v1)");
+                "CREATE LOCAL INDEX " + localIndexTableName1 + " ON " + dataTableFullName + " (v2) INCLUDE (v1)");
             conn.createStatement().execute(
-                "CREATE LOCAL INDEX " + localIndexTableName2 + " ON " + DATA_TABLE_FULL_NAME + " (k) INCLUDE (v1)");
+                "CREATE LOCAL INDEX " + localIndexTableName2 + " ON " + dataTableFullName + " (k) INCLUDE (v1)");
             
             // upsert a single row
-            PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + DATA_TABLE_FULL_NAME + " VALUES(?,?,?)");
+            PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + dataTableFullName + " VALUES(?,?,?)");
             stmt.setString(1, "a");
             stmt.setString(2, "x");
             stmt.setString(3, "1");
@@ -153,7 +135,7 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT {
             
             // verify the indexes were created
             PhoenixConnection pconn = conn.unwrap(PhoenixConnection.class);
-            PTable dataTable = pconn.getTable(new PTableKey(null, DATA_TABLE_FULL_NAME));
+            PTable dataTable = pconn.getTable(new PTableKey(null, dataTableFullName));
             assertEquals("Unexpected number of indexes ", 3, dataTable.getIndexes().size());
             PTable indexTable = dataTable.getIndexes().get(0);
             byte[] indexTablePhysicalName = indexTable.getPhysicalName().getBytes();
@@ -161,19 +143,19 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT {
             
             // drop v2 which causes the regular index and first local index to be dropped
             conn.createStatement().execute(
-                "ALTER TABLE " + DATA_TABLE_FULL_NAME + " DROP COLUMN v2 ");
+                "ALTER TABLE " + dataTableFullName + " DROP COLUMN v2 ");
 
             // verify the both of the indexes' metadata were dropped
-            conn.createStatement().execute("SELECT * FROM "+DATA_TABLE_FULL_NAME);
+            conn.createStatement().execute("SELECT * FROM "+dataTableFullName);
             try {
-                conn.createStatement().execute("SELECT * FROM "+INDEX_TABLE_NAME);
+                conn.createStatement().execute("SELECT * FROM "+indexTableName);
                 fail("Index should have been dropped");
             } catch (TableNotFoundException e) {
             }
             pconn = conn.unwrap(PhoenixConnection.class);
-            dataTable = pconn.getTable(new PTableKey(null, DATA_TABLE_FULL_NAME));
+            dataTable = pconn.getTable(new PTableKey(null, dataTableFullName));
             try {
-                pconn.getTable(new PTableKey(null, INDEX_TABLE_NAME));
+                pconn.getTable(new PTableKey(null, indexTableName));
                 fail("index should have been dropped");
             } catch (TableNotFoundException e) {
             }
@@ -220,28 +202,33 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT {
     public void helpTestDroppingIndexedColDropsViewIndex(boolean isMultiTenant) throws Exception {
         try (Connection conn = DriverManager.getConnection(getUrl());
                 Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL) : conn ) {
+            String tableWithView = generateRandomString();
+            String viewOfTable = generateRandomString();
+            String viewIndex1 = generateRandomString();
+            String viewIndex2 = generateRandomString();
+            
             conn.setAutoCommit(false);
             viewConn.setAutoCommit(false);
-            String ddlFormat = "CREATE TABLE TABLEWITHVIEW (%s k VARCHAR NOT NULL, v1 VARCHAR, v2 VARCHAR, v3 VARCHAR, v4 VARCHAR CONSTRAINT PK PRIMARY KEY(%s k))%s";
+            String ddlFormat = "CREATE TABLE " + tableWithView + " (%s k VARCHAR NOT NULL, v1 VARCHAR, v2 VARCHAR, v3 VARCHAR, v4 VARCHAR CONSTRAINT PK PRIMARY KEY(%s k))%s";
             String ddl = String.format(ddlFormat, isMultiTenant ? "TENANT_ID VARCHAR NOT NULL, " : "",
                     isMultiTenant ? "TENANT_ID, " : "", isMultiTenant ? "MULTI_TENANT=true" : "");
             conn.createStatement().execute(ddl);
             viewConn.createStatement()
                     .execute(
-                        "CREATE VIEW VIEWOFTABLE ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM TABLEWITHVIEW");
+                        "CREATE VIEW " + viewOfTable + " ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM " + tableWithView );
             // create an index with the column that will be dropped
-            viewConn.createStatement().execute("CREATE INDEX VIEWINDEX1 ON VIEWOFTABLE(v2) INCLUDE (v4)");
+            viewConn.createStatement().execute("CREATE INDEX " + viewIndex1 + " ON " + viewOfTable + "(v2) INCLUDE (v4)");
             // create an index without the column that will be dropped
-            viewConn.createStatement().execute("CREATE INDEX VIEWINDEX2 ON VIEWOFTABLE(v1) INCLUDE (v4)");
+            viewConn.createStatement().execute("CREATE INDEX " + viewIndex2 + " ON " + viewOfTable + "(v1) INCLUDE (v4)");
             // verify index was created
             try {
-                viewConn.createStatement().execute("SELECT * FROM VIEWINDEX1");
+                viewConn.createStatement().execute("SELECT * FROM " + viewIndex1 );
             } catch (TableNotFoundException e) {
                 fail("Index on view was not created");
             }
             
             // upsert a single row
-            PreparedStatement stmt = viewConn.prepareStatement("UPSERT INTO VIEWOFTABLE VALUES(?,?,?,?,?,?,?)");
+            PreparedStatement stmt = viewConn.prepareStatement("UPSERT INTO " + viewOfTable + " VALUES(?,?,?,?,?,?,?)");
             stmt.setString(1, "a");
             stmt.setString(2, "b");
             stmt.setString(3, "c");
@@ -255,47 +242,47 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT {
             // verify the index was created
             PhoenixConnection pconn = viewConn.unwrap(PhoenixConnection.class);
             PName tenantId = isMultiTenant ? PNameFactory.newName("tenant1") : null; 
-            PTable view = pconn.getTable(new PTableKey(tenantId, "VIEWOFTABLE"));
-            PTable viewIndex = pconn.getTable(new PTableKey(tenantId, "VIEWINDEX1"));
+            PTable view = pconn.getTable(new PTableKey(tenantId,  viewOfTable ));
+            PTable viewIndex = pconn.getTable(new PTableKey(tenantId,  viewIndex1 ));
             byte[] viewIndexPhysicalTable = viewIndex.getPhysicalName().getBytes();
             assertNotNull("Can't find view index", viewIndex);
             assertEquals("Unexpected number of indexes ", 2, view.getIndexes().size());
-            assertEquals("Unexpected index ", "VIEWINDEX1", view.getIndexes().get(0).getName()
+            assertEquals("Unexpected index ",  viewIndex1 , view.getIndexes().get(0).getName()
                     .getString());
-            assertEquals("Unexpected index ", "VIEWINDEX2", view.getIndexes().get(1).getName()
+            assertEquals("Unexpected index ",  viewIndex2 , view.getIndexes().get(1).getName()
                 .getString());
             
             // drop two columns
-            conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW DROP COLUMN v2, v3 ");
+            conn.createStatement().execute("ALTER TABLE " + tableWithView + " DROP COLUMN v2, v3 ");
             
             // verify columns were dropped
             try {
-                conn.createStatement().execute("SELECT v2 FROM TABLEWITHVIEW");
+                conn.createStatement().execute("SELECT v2 FROM " + tableWithView );
                 fail("Column should have been dropped");
             } catch (ColumnNotFoundException e) {
             }
             try {
-                conn.createStatement().execute("SELECT v3 FROM TABLEWITHVIEW");
+                conn.createStatement().execute("SELECT v3 FROM " + tableWithView );
                 fail("Column should have been dropped");
             } catch (ColumnNotFoundException e) {
             }
             
             // verify index metadata was dropped
             try {
-                viewConn.createStatement().execute("SELECT * FROM VIEWINDEX1");
+                viewConn.createStatement().execute("SELECT * FROM " + viewIndex1 );
                 fail("Index metadata should have been dropped");
             } catch (TableNotFoundException e) {
             }
             
             pconn = viewConn.unwrap(PhoenixConnection.class);
-            view = pconn.getTable(new PTableKey(tenantId, "VIEWOFTABLE"));
+            view = pconn.getTable(new PTableKey(tenantId,  viewOfTable ));
             try {
-                viewIndex = pconn.getTable(new PTableKey(tenantId, "VIEWINDEX1"));
+                viewIndex = pconn.getTable(new PTableKey(tenantId,  viewIndex1 ));
                 fail("View index should have been dropped");
             } catch (TableNotFoundException e) {
             }
             assertEquals("Unexpected number of indexes ", 1, view.getIndexes().size());
-            assertEquals("Unexpected index ", "VIEWINDEX2", view.getIndexes().get(0).getName().getString());
+            assertEquals("Unexpected index ",  viewIndex2 , view.getIndexes().get(0).getName().getString());
             
             // verify that the physical index view table is *not* dropped
             conn.unwrap(PhoenixConnection.class).getQueryServices().getTableDescriptor(viewIndexPhysicalTable);
@@ -306,8 +293,8 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT {
             ResultScanner results = table.getScanner(scan);
             Result result = results.next();
             assertNotNull(result);
-            // there should be a single row belonging to VIEWINDEX2 
-            assertNotNull("VIEWINDEX2 row is missing", result.getValue(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, 
+            // there should be a single row belonging to " + viewIndex2 + " 
+            assertNotNull( viewIndex2 + " row is missing", result.getValue(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, 
                 IndexUtil.getIndexColumnName(QueryConstants.DEFAULT_COLUMN_FAMILY, "V4").getBytes()));
             assertNull(results.next());
         }