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());
         }

Reply via email to