Repository: phoenix
Updated Branches:
  refs/heads/master 1c14dd192 -> 91d0abc55


PHOENIX-1677 Immutable index deadlocks when number of guideposts are one half 
of thread pool size


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/91d0abc5
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/91d0abc5
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/91d0abc5

Branch: refs/heads/master
Commit: 91d0abc556ff6b4fc2369bbe488df2802908e998
Parents: 1c14dd1
Author: James Taylor <[email protected]>
Authored: Sat Mar 14 14:20:24 2015 -0700
Committer: James Taylor <[email protected]>
Committed: Sat Mar 14 14:20:24 2015 -0700

----------------------------------------------------------------------
 .../end2end/index/ImmutableIndexWithStatsIT.java | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/91d0abc5/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexWithStatsIT.java
----------------------------------------------------------------------
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexWithStatsIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexWithStatsIT.java
index e5b38f3..493c39b 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexWithStatsIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexWithStatsIT.java
@@ -47,7 +47,6 @@ public class ImmutableIndexWithStatsIT extends 
BaseHBaseManagedTimeIT {
     @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class)
     public static void doSetup() throws Exception {
         Map<String,String> props = Maps.newHashMapWithExpectedSize(5);
-        props.put(QueryServices.DROP_METADATA_ATTRIB, Boolean.toString(true));
         props.put(QueryServices.STATS_GUIDEPOST_WIDTH_BYTES_ATTRIB, 
Long.toString(1));
         props.put(QueryServices.EXPLAIN_CHUNK_COUNT_ATTRIB, 
Boolean.TRUE.toString());
         props.put(QueryServices.THREAD_POOL_SIZE_ATTRIB, Integer.toString(4));
@@ -63,12 +62,15 @@ public class ImmutableIndexWithStatsIT extends 
BaseHBaseManagedTimeIT {
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
         Connection conn = DriverManager.getConnection(getUrl(), props);
         conn.setAutoCommit(false);
-        conn.createStatement().execute("CREATE TABLE " + 
TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " (k VARCHAR NOT NULL PRIMARY KEY, v 
VARCHAR) IMMUTABLE_ROWS=TRUE");
-        query = "SELECT * FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME;
+        // Randomize table name to prevent using already created table
+        long rand = (long)(Math.random() * 1000000.0);
+        String tableName = TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + rand;
+        conn.createStatement().execute("CREATE TABLE " + tableName + " (k 
VARCHAR NOT NULL PRIMARY KEY, v VARCHAR) IMMUTABLE_ROWS=TRUE");
+        query = "SELECT * FROM " + tableName;
         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 " + 
tableName + " VALUES(?,?)");
         for (int i=0; i<6;i++) {
                stmt.setString(1,"k" + i);
                stmt.setString(2, "v" + i );
@@ -76,14 +78,15 @@ public class ImmutableIndexWithStatsIT extends 
BaseHBaseManagedTimeIT {
         }
         conn.commit();
         
-        conn.createStatement().execute("UPDATE STATISTICS " + 
TestUtil.DEFAULT_DATA_TABLE_FULL_NAME);
-        query = "SELECT COUNT(*) FROM " + 
TestUtil.DEFAULT_DATA_TABLE_FULL_NAME;
+        conn.createStatement().execute("UPDATE STATISTICS " + tableName);
+        query = "SELECT COUNT(*) FROM " + tableName;
         rs = conn.createStatement().executeQuery("EXPLAIN " + query);
         assertTrue(QueryUtil.getExplainPlan(rs).startsWith("CLIENT 7-CHUNK 
PARALLEL 1-WAY FULL SCAN"));
 
-        conn.createStatement().execute("CREATE INDEX " + 
TestUtil.DEFAULT_INDEX_TABLE_NAME + " ON " + 
TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " (v)");
+        String indexName = TestUtil.DEFAULT_INDEX_TABLE_NAME + rand;
+        conn.createStatement().execute("CREATE INDEX " + indexName + " ON " + 
tableName + " (v)");
         
-        query = "SELECT * FROM " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME;
+        query = "SELECT * FROM " + indexName;
         rs = conn.createStatement().executeQuery(query);
         assertTrue(rs.next());
     }

Reply via email to