http://git-wip-us.apache.org/repos/asf/phoenix/blob/d77d2492/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java index 5b2b15a..e47c055 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java @@ -29,27 +29,24 @@ import java.sql.ResultSet; import java.util.Map; import java.util.Properties; -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.QueryServices; import org.apache.phoenix.schema.PTableKey; -import org.apache.phoenix.util.PropertiesUtil; -import org.apache.phoenix.util.QueryUtil; -import org.apache.phoenix.util.ReadOnlyProps; -import org.apache.phoenix.util.TestUtil; +import org.apache.phoenix.util.*; import org.junit.BeforeClass; import org.junit.Test; import com.google.common.collect.Maps; -public class SaltedIndexIT extends BaseHBaseManagedTimeIT { +public class SaltedIndexIT extends BaseHBaseManagedTimeTableReuseIT { private static final int TABLE_SPLITS = 3; private static final int INDEX_SPLITS = 4; @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map<String,String> props = Maps.newHashMapWithExpectedSize(3); // Forces server cache to be used @@ -60,15 +57,15 @@ public class SaltedIndexIT extends BaseHBaseManagedTimeIT { setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator())); } - private static void makeImmutableAndDeleteData() throws Exception { + private static void makeImmutableAndDeleteData(String tableName, String fullTableName) throws Exception { Connection conn = DriverManager.getConnection(getUrl(), PropertiesUtil.deepCopy(TEST_PROPERTIES)); try { conn.setAutoCommit(true); - conn.createStatement().execute("DELETE FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME); - conn.createStatement().execute("ALTER TABLE " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " SET IMMUTABLE_ROWS=true"); - conn.createStatement().executeQuery("SELECT COUNT(*) FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME).next(); + conn.createStatement().execute("DELETE FROM " + fullTableName); + conn.createStatement().execute("ALTER TABLE " + fullTableName + " SET IMMUTABLE_ROWS=true"); + conn.createStatement().executeQuery("SELECT COUNT(*) FROM " + fullTableName).next(); PhoenixConnection pconn = conn.unwrap(PhoenixConnection.class); - assertTrue(pconn.getTable(new PTableKey(pconn.getTenantId(), TestUtil.DEFAULT_DATA_TABLE_FULL_NAME)).isImmutableRows()); + assertTrue(pconn.getTable(new PTableKey(pconn.getTenantId(), fullTableName)).isImmutableRows()); } finally { conn.close(); } @@ -76,43 +73,55 @@ public class SaltedIndexIT extends BaseHBaseManagedTimeIT { @Test public void testMutableTableIndexMaintanenceSaltedSalted() throws Exception { - testMutableTableIndexMaintanence(TABLE_SPLITS, INDEX_SPLITS); - makeImmutableAndDeleteData(); - testMutableTableIndexMaintanence(TABLE_SPLITS, INDEX_SPLITS); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); + testMutableTableIndexMaintanence(tableName, fullTableName, indexName, fullIndexName, TABLE_SPLITS, INDEX_SPLITS); + makeImmutableAndDeleteData(tableName, fullTableName); + testMutableTableIndexMaintanence(tableName, fullTableName, indexName, fullIndexName, TABLE_SPLITS, INDEX_SPLITS); } @Test public void testMutableTableIndexMaintanenceSalted() throws Exception { - testMutableTableIndexMaintanence(null, INDEX_SPLITS); - makeImmutableAndDeleteData(); - testMutableTableIndexMaintanence(null, INDEX_SPLITS); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); + testMutableTableIndexMaintanence(tableName, fullTableName, indexName, fullIndexName, null, INDEX_SPLITS); + makeImmutableAndDeleteData(tableName, fullTableName); + testMutableTableIndexMaintanence(tableName, fullTableName, indexName, fullIndexName, null, INDEX_SPLITS); } @Test public void testMutableTableIndexMaintanenceUnsalted() throws Exception { - testMutableTableIndexMaintanence(null, null); - makeImmutableAndDeleteData(); - testMutableTableIndexMaintanence(null, null); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); + testMutableTableIndexMaintanence(tableName, fullTableName, indexName, fullIndexName, null, null); + makeImmutableAndDeleteData(tableName, fullTableName); + testMutableTableIndexMaintanence(tableName, fullTableName, indexName, fullIndexName, null, null); } - private void testMutableTableIndexMaintanence(Integer tableSaltBuckets, Integer indexSaltBuckets) throws Exception { + private void testMutableTableIndexMaintanence(String dataTableName , String dataTableFullName, String indexTableName, String indexTableFullName, Integer tableSaltBuckets, Integer indexSaltBuckets) throws Exception { String query; ResultSet rs; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); - conn.createStatement().execute("CREATE TABLE IF NOT EXISTS " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " (k VARCHAR NOT NULL PRIMARY KEY, v VARCHAR) " + (tableSaltBuckets == null ? "" : " SALT_BUCKETS=" + tableSaltBuckets)); - query = "SELECT * FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME; + conn.createStatement().execute("CREATE TABLE IF NOT EXISTS " + dataTableFullName + " (k VARCHAR NOT NULL PRIMARY KEY, v VARCHAR) " + (tableSaltBuckets == null ? "" : " SALT_BUCKETS=" + tableSaltBuckets)); + query = "SELECT * FROM " + dataTableFullName; rs = conn.createStatement().executeQuery(query); assertFalse(rs.next()); - conn.createStatement().execute("CREATE INDEX IF NOT EXISTS " + TestUtil.DEFAULT_INDEX_TABLE_NAME + " ON " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " (v DESC)" + (indexSaltBuckets == null ? "" : " SALT_BUCKETS=" + indexSaltBuckets)); - query = "SELECT * FROM " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME; + conn.createStatement().execute("CREATE INDEX IF NOT EXISTS " + indexTableName + " ON " + dataTableFullName + " (v DESC)" + (indexSaltBuckets == null ? "" : " SALT_BUCKETS=" + indexSaltBuckets)); + query = "SELECT * FROM " + indexTableFullName; rs = conn.createStatement().executeQuery(query); assertFalse(rs.next()); - PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " VALUES(?,?)"); + PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + dataTableFullName + " VALUES(?,?)"); stmt.setString(1,"a"); stmt.setString(2, "x"); stmt.execute(); @@ -121,7 +130,7 @@ public class SaltedIndexIT extends BaseHBaseManagedTimeIT { stmt.execute(); conn.commit(); - query = "SELECT * FROM " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME; + query = "SELECT * FROM " + indexTableFullName; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("y",rs.getString(1)); @@ -131,7 +140,7 @@ public class SaltedIndexIT extends BaseHBaseManagedTimeIT { assertEquals("a",rs.getString(2)); assertFalse(rs.next()); - query = "SELECT k,v FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " WHERE v = 'y'"; + query = "SELECT k,v FROM " + dataTableFullName + " WHERE v = 'y'"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("b",rs.getString(1)); @@ -141,9 +150,10 @@ public class SaltedIndexIT extends BaseHBaseManagedTimeIT { String expectedPlan; rs = conn.createStatement().executeQuery("EXPLAIN " + query); expectedPlan = indexSaltBuckets == null ? - "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME + " [~'y']\n" + - " SERVER FILTER BY FIRST KEY ONLY" : - ("CLIENT PARALLEL 4-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME + " [0,~'y'] - ["+(indexSaltBuckets.intValue()-1)+",~'y']\n" + + "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableFullName + " [~'y']\n" + + " SERVER FILTER BY FIRST KEY ONLY" : + ("CLIENT PARALLEL 4-WAY RANGE SCAN OVER " + indexTableFullName + " [0,~'y'] - ["+(indexSaltBuckets.intValue()-1)+",~'y']\n" + + " SERVER FILTER BY FIRST KEY ONLY\n" + "CLIENT MERGE SORT"); assertEquals(expectedPlan,QueryUtil.getExplainPlan(rs)); @@ -151,7 +161,7 @@ public class SaltedIndexIT extends BaseHBaseManagedTimeIT { // Will use index, so rows returned in DESC order. // This is not a bug, though, because we can // return in any order. - query = "SELECT k,v FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " WHERE v >= 'x'"; + query = "SELECT k,v FROM " + dataTableFullName + " WHERE v >= 'x'"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("b",rs.getString(1)); @@ -162,15 +172,16 @@ public class SaltedIndexIT extends BaseHBaseManagedTimeIT { assertFalse(rs.next()); rs = conn.createStatement().executeQuery("EXPLAIN " + query); expectedPlan = indexSaltBuckets == null ? - "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME + " [*] - [~'x']\n" + "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableFullName + " [*] - [~'x']\n" + " SERVER FILTER BY FIRST KEY ONLY" : - ("CLIENT PARALLEL 4-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME + " [0,*] - ["+(indexSaltBuckets.intValue()-1)+",~'x']\n" - + " SERVER FILTER BY FIRST KEY ONLY\n" + + ("CLIENT PARALLEL 4-WAY RANGE SCAN OVER " + indexTableFullName + " [0,*] - ["+(indexSaltBuckets.intValue()-1)+",~'x']\n" + + + " SERVER FILTER BY FIRST KEY ONLY\n" + "CLIENT MERGE SORT"); assertEquals(expectedPlan,QueryUtil.getExplainPlan(rs)); // Use data table, since point lookup trumps order by - query = "SELECT k,v FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " WHERE k = 'a' ORDER BY v"; + query = "SELECT k,v FROM " + dataTableFullName + " WHERE k = 'a' ORDER BY v"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("a",rs.getString(1)); @@ -178,10 +189,10 @@ public class SaltedIndexIT extends BaseHBaseManagedTimeIT { assertFalse(rs.next()); rs = conn.createStatement().executeQuery("EXPLAIN " + query); expectedPlan = tableSaltBuckets == null ? - "CLIENT PARALLEL 1-WAY POINT LOOKUP ON 1 KEY OVER " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + "\n" + + "CLIENT PARALLEL 1-WAY POINT LOOKUP ON 1 KEY OVER " + dataTableFullName + "\n" + " SERVER SORTED BY [V]\n" + "CLIENT MERGE SORT" : - "CLIENT PARALLEL 1-WAY POINT LOOKUP ON 1 KEY OVER " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + "\n" + + "CLIENT PARALLEL 1-WAY POINT LOOKUP ON 1 KEY OVER " + dataTableFullName + "\n" + " SERVER SORTED BY [V]\n" + "CLIENT MERGE SORT"; String explainPlan2 = QueryUtil.getExplainPlan(rs); @@ -190,7 +201,7 @@ public class SaltedIndexIT extends BaseHBaseManagedTimeIT { // Will use data table now, since there's a LIMIT clause and // we're able to optimize out the ORDER BY, unless the data // table is salted. - query = "SELECT k,v FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " WHERE v >= 'x' ORDER BY k LIMIT 2"; + query = "SELECT k,v FROM " + dataTableFullName + " WHERE v >= 'x' ORDER BY k LIMIT 2"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("a",rs.getString(1)); @@ -201,11 +212,11 @@ public class SaltedIndexIT extends BaseHBaseManagedTimeIT { assertFalse(rs.next()); rs = conn.createStatement().executeQuery("EXPLAIN " + query); expectedPlan = tableSaltBuckets == null ? - "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + "\n" + + "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + dataTableFullName + "\n" + " SERVER FILTER BY V >= 'x'\n" + " SERVER 2 ROW LIMIT\n" + "CLIENT 2 ROW LIMIT" : - "CLIENT PARALLEL 3-WAY FULL SCAN OVER " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + "\n" + + "CLIENT PARALLEL 3-WAY FULL SCAN OVER " + dataTableFullName + "\n" + " SERVER FILTER BY V >= 'x'\n" + " SERVER 2 ROW LIMIT\n" + "CLIENT MERGE SORT\n" +
http://git-wip-us.apache.org/repos/asf/phoenix/blob/d77d2492/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java index 735e2be..d97a749 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java @@ -17,6 +17,8 @@ */ package org.apache.phoenix.end2end.index; +import static org.apache.phoenix.util.MetaDataUtil.getViewIndexSequenceName; +import static org.apache.phoenix.util.MetaDataUtil.getViewIndexSequenceSchemaName; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -35,7 +37,7 @@ import java.util.Properties; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.phoenix.compile.QueryPlan; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData; import org.apache.phoenix.jdbc.PhoenixStatement; @@ -47,6 +49,7 @@ import org.apache.phoenix.util.ReadOnlyProps; import org.apache.phoenix.util.SchemaUtil; import org.apache.phoenix.util.TestUtil; import org.junit.BeforeClass; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -55,18 +58,15 @@ import org.junit.runners.Parameterized.Parameters; import com.google.common.collect.Maps; @RunWith(Parameterized.class) -public class ViewIndexIT extends BaseHBaseManagedTimeIT { +public class ViewIndexIT extends BaseHBaseManagedTimeTableReuseIT { + - private String VIEW_NAME = "MY_VIEW"; private String schemaName="TEST"; private boolean isNamespaceMapped; - private String tableName = schemaName + ".T"; - private String indexName = "I"; - private String viewIndexPhysicalTableName; - private TableName physicalTableName; + @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map<String,String> props = Maps.newHashMapWithExpectedSize(3); // Drop the HBase table metadata for this test to confirm that view index table dropped @@ -116,16 +116,20 @@ public class ViewIndexIT extends BaseHBaseManagedTimeIT { public ViewIndexIT(boolean isNamespaceMapped) { this.isNamespaceMapped = isNamespaceMapped; - this.physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); - this.viewIndexPhysicalTableName = physicalTableName.getNameAsString(); } @Test public void testDeleteViewIndexSequences() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String VIEW_NAME = "VIEW_" + generateRandomString(); + TableName physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); + String viewIndexPhysicalTableName = physicalTableName.getNameAsString(); + String viewName = schemaName + "." + VIEW_NAME; + createBaseTable(tableName, false, null, null); Connection conn1 = getConnection(); Connection conn2 = getConnection(); - String viewName = schemaName + "." + VIEW_NAME; conn1.createStatement().execute("CREATE VIEW " + viewName + " AS SELECT * FROM " + tableName); conn1.createStatement().execute("CREATE INDEX " + indexName + " ON " + viewName + " (v1)"); conn2.createStatement().executeQuery("SELECT * FROM " + tableName).next(); @@ -145,19 +149,21 @@ public class ViewIndexIT extends BaseHBaseManagedTimeIT { conn1.createStatement().execute("DROP TABLE "+ tableName); admin = driver.getConnectionQueryServices(getUrl(), TestUtil.TEST_PROPERTIES).getAdmin(); assertFalse("View index table should be deleted.", admin.tableExists(TableName.valueOf(viewIndexPhysicalTableName))); - rs = conn2.createStatement().executeQuery("SELECT " - + PhoenixDatabaseMetaData.SEQUENCE_SCHEMA + "," - + PhoenixDatabaseMetaData.SEQUENCE_NAME - + " FROM " + PhoenixDatabaseMetaData.SYSTEM_SEQUENCE); - assertFalse("View index sequences should be deleted.", rs.next()); + String sequenceName = getViewIndexSequenceName(PNameFactory.newName(tableName), PNameFactory.newName("a"), isNamespaceMapped); + String sequenceSchemaName = getViewIndexSequenceSchemaName(PNameFactory.newName(tableName), isNamespaceMapped); + verifySequence(null, sequenceName, sequenceSchemaName, false); + } @Test public void testMultiTenantViewLocalIndex() throws Exception { - createBaseTable(TestUtil.DEFAULT_DATA_TABLE_NAME, true, null, null); + String tableName = generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String VIEW_NAME = "VIEW_" + generateRandomString(); + createBaseTable(tableName, true, null, null); Connection conn = DriverManager.getConnection(getUrl()); PreparedStatement stmt = conn.prepareStatement( - "UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + "UPSERT INTO " + tableName + " VALUES(?,?,?,?,?)"); stmt.setString(1, "10"); stmt.setString(2, "a"); @@ -178,16 +184,16 @@ public class ViewIndexIT extends BaseHBaseManagedTimeIT { props.setProperty("TenantId", "10"); Connection conn1 = DriverManager.getConnection(getUrl(), props); conn1.createStatement().execute("CREATE VIEW " + VIEW_NAME - + " AS select * from " + TestUtil.DEFAULT_DATA_TABLE_NAME); + + " AS select * from " + tableName); conn1.createStatement().execute("CREATE LOCAL INDEX " - + TestUtil.DEFAULT_INDEX_TABLE_NAME + " ON " + + indexName + " ON " + VIEW_NAME + "(v2)"); conn1.commit(); String sql = "SELECT * FROM " + VIEW_NAME + " WHERE v2 = 100"; ResultSet rs = conn1.prepareStatement("EXPLAIN " + sql).executeQuery(); assertEquals( - "CLIENT PARALLEL 1-WAY RANGE SCAN OVER T [1,'10',100]\n" + + "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + tableName + " [1,'10',100]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + "CLIENT MERGE SORT", QueryUtil.getExplainPlan(rs)); rs = conn1.prepareStatement(sql).executeQuery(); @@ -197,9 +203,9 @@ public class ViewIndexIT extends BaseHBaseManagedTimeIT { @Test public void testCreatingIndexOnGlobalView() throws Exception { - String baseTable = "testCreatingIndexOnGlobalView".toUpperCase(); - String globalView = "globalView".toUpperCase(); - String globalViewIdx = "globalView_idx".toUpperCase(); + String baseTable = generateRandomString(); + String globalView = generateRandomString(); + String globalViewIdx = generateRandomString(); try (Connection conn = DriverManager.getConnection(getUrl())) { conn.createStatement().execute("CREATE TABLE " + baseTable + " (TENANT_ID CHAR(15) NOT NULL, PK2 DATE NOT NULL, PK3 INTEGER NOT NULL, KV1 VARCHAR, KV2 VARCHAR, KV3 CHAR(15) CONSTRAINT PK PRIMARY KEY(TENANT_ID, PK2 ROW_TIMESTAMP, PK3)) MULTI_TENANT=true"); conn.createStatement().execute("CREATE VIEW " + globalView + " AS SELECT * FROM " + baseTable); http://git-wip-us.apache.org/repos/asf/phoenix/blob/d77d2492/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java index 558bdcb..9d61247 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java @@ -35,7 +35,7 @@ import java.util.Properties; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.HBaseAdmin; -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.QueryServices; @@ -52,28 +52,16 @@ import org.junit.runners.Parameterized.Parameters; import com.google.common.collect.Maps; @RunWith(Parameterized.class) -public class MutableRollbackIT extends BaseHBaseManagedTimeIT { +public class MutableRollbackIT extends BaseHBaseManagedTimeTableReuseIT { private final boolean localIndex; - private String tableName1; - private String indexName1; - private String fullTableName1; - private String tableName2; - private String indexName2; - private String fullTableName2; public MutableRollbackIT(boolean localIndex) { this.localIndex = localIndex; - this.tableName1 = TestUtil.DEFAULT_DATA_TABLE_NAME + "_1_"; - this.indexName1 = "IDX1"; - this.fullTableName1 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName1); - this.tableName2 = TestUtil.DEFAULT_DATA_TABLE_NAME + "_2_"; - this.indexName2 = "IDX2"; - this.fullTableName2 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName2); } @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map<String,String> props = Maps.newHashMapWithExpectedSize(2); props.put(QueryServices.DEFAULT_TABLE_ISTRANSACTIONAL_ATTRIB, Boolean.toString(true)); @@ -83,14 +71,18 @@ public class MutableRollbackIT extends BaseHBaseManagedTimeIT { @Parameters(name="localIndex = {0}") public static Collection<Boolean> data() { - return Arrays.asList(new Boolean[] { - false, true - }); + return Arrays.asList(new Boolean[] { false, true}); } public void testRollbackOfUncommittedExistingKeyValueIndexUpdate() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); + String tableName1 = "TBL1_" + generateRandomString(); + String indexName1 = "IDX1_" + generateRandomString(); + String fullTableName1 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName1); + String tableName2 = "TBL2_" + generateRandomString(); + String indexName2 = "IDX2_" + generateRandomString(); + String fullTableName2 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName2); conn.setAutoCommit(false); try { Statement stmt = conn.createStatement(); @@ -190,7 +182,7 @@ public class MutableRollbackIT extends BaseHBaseManagedTimeIT { stmt.executeUpdate("upsert into " + fullTableName2 + " values('a', 'b', 'c')"); conn.commit(); - assertDataAndIndexRows(stmt); + assertDataAndIndexRows(stmt, fullTableName1, fullTableName2, indexName1); stmt.executeUpdate("delete from " + fullTableName1 + " where k='x'"); stmt.executeUpdate("delete from " + fullTableName2 + " where v1='b'"); @@ -209,7 +201,7 @@ public class MutableRollbackIT extends BaseHBaseManagedTimeIT { assertFalse(rs.next()); conn.rollback(); - assertDataAndIndexRows(stmt); + assertDataAndIndexRows(stmt, fullTableName1, fullTableName2, indexName1); } finally { conn.close(); } @@ -217,6 +209,12 @@ public class MutableRollbackIT extends BaseHBaseManagedTimeIT { @Test public void testRollbackOfUncommittedExistingRowKeyIndexUpdate() throws Exception { + String tableName1 = "TBL1_" + generateRandomString(); + String indexName1 = "IDX1_" + generateRandomString(); + String fullTableName1 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName1); + String tableName2 = "TBL2_" + generateRandomString(); + String indexName2 = "IDX2_" + generateRandomString(); + String fullTableName2 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName2); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); @@ -255,9 +253,8 @@ public class MutableRollbackIT extends BaseHBaseManagedTimeIT { stmt.executeUpdate("upsert into " + fullTableName1 + " values('x', 'z', 'a')"); stmt.executeUpdate("upsert into " + fullTableName2 + " values('a', 'b', 'c')"); - - assertDataAndIndexRows(stmt); - + + assertDataAndIndexRows(stmt, fullTableName1, fullTableName2, indexName1); conn.rollback(); //assert original row exists in fullTableName1 @@ -288,8 +285,7 @@ public class MutableRollbackIT extends BaseHBaseManagedTimeIT { stmt.executeUpdate("upsert into " + fullTableName2 + " values('a', 'b', 'c')"); conn.commit(); - assertDataAndIndexRows(stmt); - stmt.executeUpdate("delete from " + fullTableName1 + " where k='x'"); + assertDataAndIndexRows(stmt, fullTableName1, fullTableName2, indexName1); stmt.executeUpdate("delete from " + fullTableName1 + " where k='x'"); stmt.executeUpdate("delete from " + fullTableName2 + " where v1='b'"); //assert no rows exists in fullTableName1 @@ -307,7 +303,7 @@ public class MutableRollbackIT extends BaseHBaseManagedTimeIT { assertFalse(rs.next()); conn.rollback(); - assertDataAndIndexRows(stmt); + assertDataAndIndexRows(stmt, fullTableName1, fullTableName2, indexName1); PhoenixConnection phoenixConn = conn.unwrap(PhoenixConnection.class); if(localIndex) { dropTable(phoenixConn.getQueryServices().getAdmin(), conn, fullTableName1); @@ -318,7 +314,7 @@ public class MutableRollbackIT extends BaseHBaseManagedTimeIT { } } - private void assertDataAndIndexRows(Statement stmt) throws SQLException, IOException { + private void assertDataAndIndexRows(Statement stmt, String fullTableName1, String fullTableName2, String indexName1) throws SQLException, IOException { ResultSet rs; //assert new covered row key value exists in fullTableName1 rs = stmt.executeQuery("select /*+ NO_INDEX */ k, v1, v2 from " + fullTableName1); @@ -356,6 +352,10 @@ public class MutableRollbackIT extends BaseHBaseManagedTimeIT { public void testMultiRollbackOfUncommittedExistingRowKeyIndexUpdate() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); + String tableName1 = "TBL1_" + generateRandomString(); + String indexName1 = "IDX1_" + generateRandomString(); + String fullTableName1 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName1); + String tableName2 = "TBL2_" + generateRandomString(); conn.setAutoCommit(false); try { Statement stmt = conn.createStatement(); @@ -458,6 +458,10 @@ public class MutableRollbackIT extends BaseHBaseManagedTimeIT { public void testCheckpointAndRollback() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); + String tableName1 = "TBL1_" + generateRandomString(); + String indexName1 = "IDX1_" + generateRandomString(); + String fullTableName1 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName1); + String tableName2 = "TBL2_" + generateRandomString(); conn.setAutoCommit(false); try { Statement stmt = conn.createStatement(); http://git-wip-us.apache.org/repos/asf/phoenix/blob/d77d2492/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java index f3fb46a..963263f 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java @@ -31,7 +31,7 @@ import java.util.Collection; import java.util.Map; import java.util.Properties; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.query.QueryServices; import org.apache.phoenix.util.PropertiesUtil; @@ -47,24 +47,18 @@ import org.junit.runners.Parameterized.Parameters; import com.google.common.collect.Maps; @RunWith(Parameterized.class) -public class RollbackIT extends BaseHBaseManagedTimeIT { +public class RollbackIT extends BaseHBaseManagedTimeTableReuseIT { private final boolean localIndex; private final boolean mutable; - private final String tableName; - private final String indexName; - private final String fullTableName; public RollbackIT(boolean localIndex, boolean mutable) { this.localIndex = localIndex; this.mutable = mutable; - this.tableName = TestUtil.DEFAULT_DATA_TABLE_NAME; - this.indexName = "IDX"; - this.fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); } @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map<String,String> props = Maps.newHashMapWithExpectedSize(2); props.put(QueryServices.DEFAULT_TABLE_ISTRANSACTIONAL_ATTRIB, Boolean.toString(true)); @@ -82,6 +76,9 @@ public class RollbackIT extends BaseHBaseManagedTimeIT { @Test public void testRollbackOfUncommittedKeyValueIndexInsert() throws Exception { + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); @@ -127,6 +124,9 @@ public class RollbackIT extends BaseHBaseManagedTimeIT { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); try { Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE " + fullTableName + "(k VARCHAR, v1 VARCHAR, v2 VARCHAR, CONSTRAINT pk PRIMARY KEY (v1, v2))"+(!mutable? " IMMUTABLE_ROWS=true" : "")); http://git-wip-us.apache.org/repos/asf/phoenix/blob/d77d2492/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java index 06e63b2..29f3758 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java @@ -58,7 +58,7 @@ public class SaltedTableIT extends BaseClientManagedTimeIT { // 4abc123jkl444 try { // Upsert with no column specifies. - ensureTableCreated(getUrl(), TABLE_WITH_SALTING, splits, ts-2); + ensureTableCreated(getUrl(), TABLE_WITH_SALTING, TABLE_WITH_SALTING, splits, ts-2); String query = "UPSERT INTO " + TABLE_WITH_SALTING + " VALUES(?,?,?,?,?)"; PreparedStatement stmt = conn.prepareStatement(query); stmt.setInt(1, 1); http://git-wip-us.apache.org/repos/asf/phoenix/blob/d77d2492/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableUpsertSelectIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableUpsertSelectIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableUpsertSelectIT.java index b21655a..a7ac817 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableUpsertSelectIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableUpsertSelectIT.java @@ -31,7 +31,6 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.util.PropertiesUtil; import org.junit.Test; http://git-wip-us.apache.org/repos/asf/phoenix/blob/d77d2492/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableVarLengthRowKeyIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableVarLengthRowKeyIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableVarLengthRowKeyIT.java index e94ae3a..e3688ca 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableVarLengthRowKeyIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableVarLengthRowKeyIT.java @@ -29,7 +29,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.Properties; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.util.PropertiesUtil; import org.junit.Test; http://git-wip-us.apache.org/repos/asf/phoenix/blob/d77d2492/phoenix-core/src/it/java/org/apache/phoenix/iterate/PhoenixQueryTimeoutIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/iterate/PhoenixQueryTimeoutIT.java b/phoenix-core/src/it/java/org/apache/phoenix/iterate/PhoenixQueryTimeoutIT.java index 6bf3790..7a93333 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/iterate/PhoenixQueryTimeoutIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/iterate/PhoenixQueryTimeoutIT.java @@ -24,11 +24,8 @@ import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashSet; import java.util.Properties; -import java.util.Set; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.jdbc.PhoenixStatement; import org.junit.BeforeClass; http://git-wip-us.apache.org/repos/asf/phoenix/blob/d77d2492/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java b/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java index dd384cc..f065f28 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java @@ -42,7 +42,7 @@ import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.util.Bytes; import org.apache.phoenix.compile.StatementContext; -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.jdbc.PhoenixResultSet; @@ -58,12 +58,12 @@ import org.junit.Test; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -public class RoundRobinResultIteratorIT extends BaseHBaseManagedTimeIT { +public class RoundRobinResultIteratorIT extends BaseHBaseManagedTimeTableReuseIT { private static final int NUM_SALT_BUCKETS = 4; @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map<String,String> props = Maps.newHashMapWithExpectedSize(1); props.put(QueryServices.THREAD_POOL_SIZE_ATTRIB, Integer.toString(32)); @@ -78,7 +78,7 @@ public class RoundRobinResultIteratorIT extends BaseHBaseManagedTimeIT { @Test public void testRoundRobinAfterTableSplit() throws Exception { - String tableName = "ROUNDROBINSPLIT"; + String tableName = generateRandomString(); byte[] tableNameBytes = Bytes.toBytes(tableName); int numRows = setupTableForSplit(tableName); Connection conn = DriverManager.getConnection(getUrl()); @@ -128,7 +128,7 @@ public class RoundRobinResultIteratorIT extends BaseHBaseManagedTimeIT { } private void testSelectAllRowsWithDifferentFetchSizes(boolean salted) throws Exception { - String tableName = "ALLROWS" + (salted ? "_SALTED" : "_UNSALTED"); + String tableName = generateRandomString(); int numRows = 9; Set<String> expectedKeys = Collections.unmodifiableSet(createTableAndInsertRows(tableName, numRows, salted, false)); Connection conn = DriverManager.getConnection(getUrl()); @@ -152,7 +152,7 @@ public class RoundRobinResultIteratorIT extends BaseHBaseManagedTimeIT { } private void testSelectRowsWithFilterAndDifferentFetchSizes(boolean salted) throws Exception { - String tableName = "ROWSWITHFILTER" + (salted ? "_SALTED" : "_UNSALTED"); + String tableName = generateRandomString(); int numRows = 6; Set<String> insertedKeys = createTableAndInsertRows(tableName, numRows, salted, false); Connection conn = DriverManager.getConnection(getUrl()); @@ -205,7 +205,7 @@ public class RoundRobinResultIteratorIT extends BaseHBaseManagedTimeIT { @Test public void testFetchSizesAndRVCExpression() throws Exception { - String tableName = "RVCTest"; + String tableName = generateRandomString(); Set<String> insertedKeys = Collections.unmodifiableSet(createTableAndInsertRows(tableName, 4, false, false)); Connection conn = DriverManager.getConnection(getUrl()); PreparedStatement stmt = conn.prepareStatement("SELECT K FROM " + tableName + " WHERE (K, V) > (?, ?)"); @@ -280,10 +280,14 @@ public class RoundRobinResultIteratorIT extends BaseHBaseManagedTimeIT { int insertedRowsA = 10; int insertedRowsB = 5; int insertedRowsC = 7; - Set<String> keySetA = createTableAndInsertRows("TABLEA", insertedRowsA, true, true); - Set<String> keySetB = createTableAndInsertRows("TABLEB", insertedRowsB, true, true); - Set<String> keySetC = createTableAndInsertRows("TABLEC", insertedRowsC, false, true); - String query = "SELECT K FROM TABLEA UNION ALL SELECT K FROM TABLEB UNION ALL SELECT K FROM TABLEC"; + String baseTableName = generateRandomString(); + String tableA = "TABLEA" + baseTableName; + String tableB = "TABLEB" + baseTableName; + String tableC = "TABLEC" + baseTableName; + Set<String> keySetA = createTableAndInsertRows(tableA, insertedRowsA, true, true); + Set<String> keySetB = createTableAndInsertRows(tableB, insertedRowsB, true, true); + Set<String> keySetC = createTableAndInsertRows(tableC, insertedRowsC, false, true); + String query = "SELECT K FROM " + tableA + " UNION ALL SELECT K FROM " + tableB + " UNION ALL SELECT K FROM " + tableC; Connection conn = DriverManager.getConnection(getUrl()); PreparedStatement stmt = conn.prepareStatement(query); stmt.setFetchSize(2); // force parallel fetch of scanner cache http://git-wip-us.apache.org/repos/asf/phoenix/blob/d77d2492/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java index 20a3c48..00de6b0 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java @@ -37,7 +37,7 @@ import java.sql.SQLException; import java.util.Map; import java.util.Properties; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.jdbc.PhoenixEmbeddedDriver; import org.apache.phoenix.query.ConnectionQueryServices; @@ -61,12 +61,12 @@ import com.google.common.collect.Maps; * Verifies the number of rpcs calls from {@link MetaDataClient} updateCache() * for transactional and non-transactional tables. */ -public class UpdateCacheIT extends BaseHBaseManagedTimeIT { +public class UpdateCacheIT extends BaseHBaseManagedTimeTableReuseIT { public static final int NUM_MILLIS_IN_DAY = 86400000; @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map<String,String> props = Maps.newHashMapWithExpectedSize(1); props.put(QueryServices.TRANSACTIONS_ENABLED, Boolean.toString(true)); @@ -84,28 +84,30 @@ public class UpdateCacheIT extends BaseHBaseManagedTimeIT { @Test public void testUpdateCacheForTxnTable() throws Exception { String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + TRANSACTIONAL_DATA_TABLE; - ensureTableCreated(getUrl(), TRANSACTIONAL_DATA_TABLE); + ensureTableCreated(getUrl(), TRANSACTIONAL_DATA_TABLE, TRANSACTIONAL_DATA_TABLE); helpTestUpdateCache(fullTableName, null, new int[] {1, 1}); } @Test public void testUpdateCacheForNonTxnTable() throws Exception { - String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; - ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE); + String tableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + tableName; + ensureTableCreated(getUrl(), tableName, MUTABLE_INDEX_DATA_TABLE); helpTestUpdateCache(fullTableName, null, new int[] {1, 3}); } @Test public void testUpdateCacheForNonTxnSystemTable() throws Exception { - String fullTableName = QueryConstants.SYSTEM_SCHEMA_NAME + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; + String fullTableName = QueryConstants.SYSTEM_SCHEMA_NAME + QueryConstants.NAME_SEPARATOR + generateRandomString(); setupSystemTable(fullTableName); helpTestUpdateCache(fullTableName, null, new int[] {0, 0}); } @Test public void testUpdateCacheForNeverUpdatedTable() throws Exception { - String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; - ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE); + String tableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + tableName; + ensureTableCreated(getUrl(), tableName, MUTABLE_INDEX_DATA_TABLE); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.createStatement().execute( @@ -116,7 +118,7 @@ public class UpdateCacheIT extends BaseHBaseManagedTimeIT { @Test public void testUpdateCacheForAlwaysUpdatedTable() throws Exception { - String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + generateRandomString(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.createStatement().execute("CREATE TABLE " + fullTableName + TEST_TABLE_SCHEMA + " UPDATE_CACHE_FREQUENCY=always"); @@ -126,7 +128,7 @@ public class UpdateCacheIT extends BaseHBaseManagedTimeIT { @Test public void testUpdateCacheForTimeLimitedUpdateTable() throws Exception { - String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + generateRandomString(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.createStatement().execute("CREATE TABLE " + fullTableName + TEST_TABLE_SCHEMA + " UPDATE_CACHE_FREQUENCY=" + 10000); @@ -138,7 +140,7 @@ public class UpdateCacheIT extends BaseHBaseManagedTimeIT { @Test public void testUpdateCacheForChangingUpdateTable() throws Exception { - String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + generateRandomString(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.createStatement().execute("CREATE TABLE " + fullTableName + TEST_TABLE_SCHEMA + " UPDATE_CACHE_FREQUENCY=never"); http://git-wip-us.apache.org/repos/asf/phoenix/blob/d77d2492/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java index 04f751b..44e3115 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java @@ -30,7 +30,7 @@ public class UpdateCacheWithScnIT extends BaseClientManagedTimeIT { public void testUpdateCacheWithScn() throws Exception { long ts = nextTimestamp(); String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; - ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE, ts); + ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE, MUTABLE_INDEX_DATA_TABLE, ts); // FIXME: given that the scn is advancing in the test, why aren't there more RPCs? UpdateCacheIT.helpTestUpdateCache(fullTableName, ts+2, new int[] {1, 1}); } http://git-wip-us.apache.org/repos/asf/phoenix/blob/d77d2492/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java b/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java index 96e1646..66f3e87 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java @@ -36,7 +36,7 @@ import org.apache.hadoop.metrics2.MetricsTag; import org.apache.hadoop.metrics2.impl.ExposedMetricCounterLong; import org.apache.hadoop.metrics2.impl.ExposedMetricsRecordImpl; import org.apache.hadoop.metrics2.lib.ExposedMetricsInfoImpl; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.metrics.MetricInfo; import org.apache.phoenix.query.QueryServicesOptions; import org.apache.phoenix.schema.TableNotFoundException; @@ -51,7 +51,7 @@ import org.junit.Before; * connections, as well as any supporting utils. */ -public class BaseTracingTestIT extends BaseHBaseManagedTimeIT { +public class BaseTracingTestIT extends BaseHBaseManagedTimeTableReuseIT { @Before public void resetTracingTableIfExists() throws Exception { Connection conn = getConnectionWithoutTracing();
