[23/47] phoenix git commit: PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while upserting.(Rajeshbabu)

2016-09-20 Thread maryannxue
PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while 
upserting.(Rajeshbabu)


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

Branch: refs/heads/calcite
Commit: e4fd03952a15be60eee6ddc557a19ce917c606c2
Parents: b640b39
Author: Rajeshbabu Chintaguntla 
Authored: Wed Sep 14 21:03:22 2016 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Wed Sep 14 21:03:22 2016 +0530

--
 .../end2end/index/MutableIndexFailureIT.java| 34 +---
 .../index/PhoenixIndexFailurePolicy.java|  5 +--
 2 files changed, 32 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/e4fd0395/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
index 0a85216..c68d897 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
@@ -45,6 +45,7 @@ import 
org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.end2end.BaseOwnClusterHBaseManagedTimeIT;
 import org.apache.phoenix.end2end.NeedsOwnMiniClusterTest;
+import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.schema.PIndexState;
@@ -79,7 +80,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 
 private String tableName;
 private String indexName;
-private String fullTableName;
+public static volatile String fullTableName;
 private String fullIndexName;
 
 private final boolean transactional;
@@ -150,6 +151,11 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 FAIL_WRITE = false;
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
indexName + " ON " + fullTableName + " (v1) INCLUDE (v2)");
+// Create other index which should be local/global if the other 
index is global/local to
+// check the drop index.
+conn.createStatement().execute(
+"CREATE " + (!localIndex ? "LOCAL " : "") + "INDEX " + 
indexName + "_3" + " ON "
++ fullTableName + " (v2) INCLUDE (v1)");
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
secondIndexName + " ON " + secondTableName + " (v1) INCLUDE (v2)");
 
@@ -166,7 +172,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 assertTrue(rs.next());
 assertEquals(secondIndexName, rs.getString(3));
 assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
-assertFalse(rs.next());
+assertTrue(rs.next());
+assertEquals(indexName+"_3", rs.getString(3));
+assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
 initializeTable(conn, fullTableName);
 initializeTable(conn, secondTableName);
 
@@ -262,7 +270,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 stmt.setString(3, "4");
 stmt.execute();
 conn.commit();
-
+// To clear the index name from connection.
+PhoenixConnection phoenixConn = 
conn.unwrap(PhoenixConnection.class);
+phoenixConn.getMetaDataCache().removeTable(null, fullTableName, 
null, HConstants.LATEST_TIMESTAMP);
 // verify index table has correct data
 validateDataWithIndex(conn, fullTableName, fullIndexName);
 validateDataWithIndex(conn, secondTableName, secondFullIndexName);
@@ -306,7 +316,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 }
 
 private void validateDataWithIndex(Connection conn, String tableName, 
String indexName) throws SQLException {
-String query = "SELECT /*+ INDEX(" + indexName + ") */ k,v1 FROM " + 
tableName;
+String query = "SELECT /*+ INDEX(" + indexName + ")  */ k,v1 FROM " + 
tableName;
 ResultSet rs = 

phoenix git commit: PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while upserting.(Rajeshbabu)

2016-09-16 Thread rajeshbabu
Repository: phoenix
Updated Branches:
  refs/heads/4.8-HBase-0.98 22fcbe4e9 -> 04860ec40


PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while 
upserting.(Rajeshbabu)


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

Branch: refs/heads/4.8-HBase-0.98
Commit: 04860ec40a29000ff46af583c35d4a6d94b4ca22
Parents: 22fcbe4
Author: Rajeshbabu Chintaguntla 
Authored: Fri Sep 16 22:21:39 2016 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Fri Sep 16 22:21:39 2016 +0530

--
 .../end2end/index/MutableIndexFailureIT.java| 37 
 .../index/PhoenixIndexFailurePolicy.java|  5 +--
 2 files changed, 34 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/04860ec4/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
index e3d4c75..9b4f77a 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
@@ -45,6 +45,7 @@ import 
org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.end2end.BaseOwnClusterHBaseManagedTimeIT;
 import org.apache.phoenix.end2end.NeedsOwnMiniClusterTest;
+import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.schema.PIndexState;
@@ -79,7 +80,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 
 private String tableName;
 private String indexName;
-private String fullTableName;
+public static volatile String fullTableName;
 private String fullIndexName;
 
 private final boolean transactional;
@@ -150,6 +151,11 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 FAIL_WRITE = false;
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
indexName + " ON " + fullTableName + " (v1) INCLUDE (v2)");
+// Create other index which should be local/global if the other 
index is global/local to
+// check the drop index.
+conn.createStatement().execute(
+"CREATE INDEX " + indexName + "_3" + " ON "
++ fullTableName + " (v2) INCLUDE (v1)");
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
secondIndexName + " ON " + secondTableName + " (v1) INCLUDE (v2)");
 
@@ -166,7 +172,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 assertTrue(rs.next());
 assertEquals(secondIndexName, rs.getString(3));
 assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
-assertFalse(rs.next());
+assertTrue(rs.next());
+assertEquals(indexName+"_3", rs.getString(3));
+assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
 initializeTable(conn, fullTableName);
 initializeTable(conn, secondTableName);
 
@@ -262,7 +270,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 stmt.setString(3, "4");
 stmt.execute();
 conn.commit();
-
+// To clear the index name from connection.
+PhoenixConnection phoenixConn = 
conn.unwrap(PhoenixConnection.class);
+phoenixConn.getMetaDataCache().removeTable(null, fullTableName, 
null, HConstants.LATEST_TIMESTAMP);
 // verify index table has correct data
 validateDataWithIndex(conn, fullTableName, fullIndexName);
 validateDataWithIndex(conn, secondTableName, secondFullIndexName);
@@ -306,7 +316,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 }
 
 private void validateDataWithIndex(Connection conn, String tableName, 
String indexName) throws SQLException {
-String query = "SELECT /*+ INDEX(" + indexName + ") */ k,v1 FROM " + 
tableName;
+String query = "SELECT /*+ INDEX(" + indexName + ")  */ k,v1 FROM " + 

phoenix git commit: PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while upserting.(Rajeshbabu)

2016-09-16 Thread rajeshbabu
Repository: phoenix
Updated Branches:
  refs/heads/4.8-HBase-1.0 97cb4e010 -> 8066f88ab


PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while 
upserting.(Rajeshbabu)


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

Branch: refs/heads/4.8-HBase-1.0
Commit: 8066f88ab1e756182726f890d78bef7543a5fa6b
Parents: 97cb4e0
Author: Rajeshbabu Chintaguntla 
Authored: Fri Sep 16 21:22:51 2016 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Fri Sep 16 21:22:51 2016 +0530

--
 .../end2end/index/MutableIndexFailureIT.java| 37 
 .../index/PhoenixIndexFailurePolicy.java|  5 +--
 2 files changed, 34 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/8066f88a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
index 0a85216..9b4f77a 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
@@ -45,6 +45,7 @@ import 
org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.end2end.BaseOwnClusterHBaseManagedTimeIT;
 import org.apache.phoenix.end2end.NeedsOwnMiniClusterTest;
+import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.schema.PIndexState;
@@ -79,7 +80,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 
 private String tableName;
 private String indexName;
-private String fullTableName;
+public static volatile String fullTableName;
 private String fullIndexName;
 
 private final boolean transactional;
@@ -150,6 +151,11 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 FAIL_WRITE = false;
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
indexName + " ON " + fullTableName + " (v1) INCLUDE (v2)");
+// Create other index which should be local/global if the other 
index is global/local to
+// check the drop index.
+conn.createStatement().execute(
+"CREATE INDEX " + indexName + "_3" + " ON "
++ fullTableName + " (v2) INCLUDE (v1)");
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
secondIndexName + " ON " + secondTableName + " (v1) INCLUDE (v2)");
 
@@ -166,7 +172,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 assertTrue(rs.next());
 assertEquals(secondIndexName, rs.getString(3));
 assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
-assertFalse(rs.next());
+assertTrue(rs.next());
+assertEquals(indexName+"_3", rs.getString(3));
+assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
 initializeTable(conn, fullTableName);
 initializeTable(conn, secondTableName);
 
@@ -262,7 +270,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 stmt.setString(3, "4");
 stmt.execute();
 conn.commit();
-
+// To clear the index name from connection.
+PhoenixConnection phoenixConn = 
conn.unwrap(PhoenixConnection.class);
+phoenixConn.getMetaDataCache().removeTable(null, fullTableName, 
null, HConstants.LATEST_TIMESTAMP);
 // verify index table has correct data
 validateDataWithIndex(conn, fullTableName, fullIndexName);
 validateDataWithIndex(conn, secondTableName, secondFullIndexName);
@@ -306,7 +316,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 }
 
 private void validateDataWithIndex(Connection conn, String tableName, 
String indexName) throws SQLException {
-String query = "SELECT /*+ INDEX(" + indexName + ") */ k,v1 FROM " + 
tableName;
+String query = "SELECT /*+ INDEX(" + indexName + ")  */ k,v1 FROM " + 
tableName;
 

phoenix git commit: PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while upserting.(Rajeshbabu)

2016-09-16 Thread rajeshbabu
Repository: phoenix
Updated Branches:
  refs/heads/4.8-HBase-1.1 b9d51ecdc -> 40e0c1d7f


PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while 
upserting.(Rajeshbabu)


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

Branch: refs/heads/4.8-HBase-1.1
Commit: 40e0c1d7f1e0f8ca09739eb65d7c3ed4c3052e2f
Parents: b9d51ec
Author: Rajeshbabu Chintaguntla 
Authored: Fri Sep 16 21:00:03 2016 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Fri Sep 16 21:00:03 2016 +0530

--
 .../end2end/index/MutableIndexFailureIT.java| 37 
 .../index/PhoenixIndexFailurePolicy.java|  5 +--
 2 files changed, 34 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/40e0c1d7/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
index 0a85216..9b4f77a 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
@@ -45,6 +45,7 @@ import 
org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.end2end.BaseOwnClusterHBaseManagedTimeIT;
 import org.apache.phoenix.end2end.NeedsOwnMiniClusterTest;
+import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.schema.PIndexState;
@@ -79,7 +80,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 
 private String tableName;
 private String indexName;
-private String fullTableName;
+public static volatile String fullTableName;
 private String fullIndexName;
 
 private final boolean transactional;
@@ -150,6 +151,11 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 FAIL_WRITE = false;
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
indexName + " ON " + fullTableName + " (v1) INCLUDE (v2)");
+// Create other index which should be local/global if the other 
index is global/local to
+// check the drop index.
+conn.createStatement().execute(
+"CREATE INDEX " + indexName + "_3" + " ON "
++ fullTableName + " (v2) INCLUDE (v1)");
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
secondIndexName + " ON " + secondTableName + " (v1) INCLUDE (v2)");
 
@@ -166,7 +172,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 assertTrue(rs.next());
 assertEquals(secondIndexName, rs.getString(3));
 assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
-assertFalse(rs.next());
+assertTrue(rs.next());
+assertEquals(indexName+"_3", rs.getString(3));
+assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
 initializeTable(conn, fullTableName);
 initializeTable(conn, secondTableName);
 
@@ -262,7 +270,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 stmt.setString(3, "4");
 stmt.execute();
 conn.commit();
-
+// To clear the index name from connection.
+PhoenixConnection phoenixConn = 
conn.unwrap(PhoenixConnection.class);
+phoenixConn.getMetaDataCache().removeTable(null, fullTableName, 
null, HConstants.LATEST_TIMESTAMP);
 // verify index table has correct data
 validateDataWithIndex(conn, fullTableName, fullIndexName);
 validateDataWithIndex(conn, secondTableName, secondFullIndexName);
@@ -306,7 +316,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 }
 
 private void validateDataWithIndex(Connection conn, String tableName, 
String indexName) throws SQLException {
-String query = "SELECT /*+ INDEX(" + indexName + ") */ k,v1 FROM " + 
tableName;
+String query = "SELECT /*+ INDEX(" + indexName + ")  */ k,v1 FROM " + 
tableName;
 

phoenix git commit: PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while upserting.(Rajeshbabu)

2016-09-16 Thread rajeshbabu
Repository: phoenix
Updated Branches:
  refs/heads/4.8-HBase-1.2 496872c6e -> 614f870bd


PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while 
upserting.(Rajeshbabu)


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

Branch: refs/heads/4.8-HBase-1.2
Commit: 614f870bdeff324ce2236a64d6c5465ced649884
Parents: 496872c
Author: Rajeshbabu Chintaguntla 
Authored: Fri Sep 16 20:24:02 2016 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Fri Sep 16 20:24:02 2016 +0530

--
 .../end2end/index/MutableIndexFailureIT.java| 37 
 .../index/PhoenixIndexFailurePolicy.java|  5 +--
 2 files changed, 34 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/614f870b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
index 0a85216..1f987ed 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
@@ -45,6 +45,7 @@ import 
org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.end2end.BaseOwnClusterHBaseManagedTimeIT;
 import org.apache.phoenix.end2end.NeedsOwnMiniClusterTest;
+import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.schema.PIndexState;
@@ -79,7 +80,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 
 private String tableName;
 private String indexName;
-private String fullTableName;
+public static volatile String fullTableName;
 private String fullIndexName;
 
 private final boolean transactional;
@@ -150,6 +151,11 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 FAIL_WRITE = false;
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
indexName + " ON " + fullTableName + " (v1) INCLUDE (v2)");
+// Create other index which should be local/global if the other 
index is global/local to
+// check the drop index.
+conn.createStatement().execute(
+"CREATE " + (!localIndex ? "LOCAL " : "") + "INDEX " + 
indexName + "_3" + " ON "
++ fullTableName + " (v2) INCLUDE (v1)");
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
secondIndexName + " ON " + secondTableName + " (v1) INCLUDE (v2)");
 
@@ -166,7 +172,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 assertTrue(rs.next());
 assertEquals(secondIndexName, rs.getString(3));
 assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
-assertFalse(rs.next());
+assertTrue(rs.next());
+assertEquals(indexName+"_3", rs.getString(3));
+assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
 initializeTable(conn, fullTableName);
 initializeTable(conn, secondTableName);
 
@@ -262,7 +270,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 stmt.setString(3, "4");
 stmt.execute();
 conn.commit();
-
+// To clear the index name from connection.
+PhoenixConnection phoenixConn = 
conn.unwrap(PhoenixConnection.class);
+phoenixConn.getMetaDataCache().removeTable(null, fullTableName, 
null, HConstants.LATEST_TIMESTAMP);
 // verify index table has correct data
 validateDataWithIndex(conn, fullTableName, fullIndexName);
 validateDataWithIndex(conn, secondTableName, secondFullIndexName);
@@ -306,7 +316,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 }
 
 private void validateDataWithIndex(Connection conn, String tableName, 
String indexName) throws SQLException {
-String query = "SELECT /*+ INDEX(" + indexName + ") */ k,v1 FROM " + 
tableName;
+String query = "SELECT /*+ INDEX(" + 

phoenix git commit: PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while upserting.(Rajeshbabu)

2016-09-16 Thread rajeshbabu
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 dc713aa2a -> aa11bd402


PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while 
upserting.(Rajeshbabu)


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

Branch: refs/heads/4.x-HBase-0.98
Commit: aa11bd4025b6995049302c112e4471a45fd2bc61
Parents: dc713aa
Author: Rajeshbabu Chintaguntla 
Authored: Fri Sep 16 20:00:38 2016 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Fri Sep 16 20:00:38 2016 +0530

--
 .../end2end/index/MutableIndexFailureIT.java| 37 
 .../index/PhoenixIndexFailurePolicy.java|  5 +--
 2 files changed, 34 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/aa11bd40/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
index ba223f3..21f6346 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
@@ -45,6 +45,7 @@ import 
org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.end2end.BaseOwnClusterHBaseManagedTimeIT;
 import org.apache.phoenix.end2end.NeedsOwnMiniClusterTest;
+import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.schema.PIndexState;
@@ -79,7 +80,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 
 private String tableName;
 private String indexName;
-private String fullTableName;
+public static volatile String fullTableName;
 private String fullIndexName;
 
 private final boolean transactional;
@@ -150,6 +151,11 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 FAIL_WRITE = false;
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
indexName + " ON " + fullTableName + " (v1) INCLUDE (v2)");
+// Create other index which should be local/global if the other 
index is global/local to
+// check the drop index.
+conn.createStatement().execute(
+"CREATE INDEX " + indexName + "_3" + " ON "
++ fullTableName + " (v2) INCLUDE (v1)");
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
secondIndexName + " ON " + secondTableName + " (v1) INCLUDE (v2)");
 
@@ -166,7 +172,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 assertTrue(rs.next());
 assertEquals(secondIndexName, rs.getString(3));
 assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
-assertFalse(rs.next());
+assertTrue(rs.next());
+assertEquals(indexName+"_3", rs.getString(3));
+assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
 initializeTable(conn, fullTableName);
 initializeTable(conn, secondTableName);
 
@@ -262,7 +270,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 stmt.setString(3, "4");
 stmt.execute();
 conn.commit();
-
+// To clear the index name from connection.
+PhoenixConnection phoenixConn = 
conn.unwrap(PhoenixConnection.class);
+phoenixConn.getMetaDataCache().removeTable(null, fullTableName, 
null, HConstants.LATEST_TIMESTAMP);
 // verify index table has correct data
 validateDataWithIndex(conn, fullTableName, fullIndexName);
 validateDataWithIndex(conn, secondTableName, secondFullIndexName);
@@ -306,7 +316,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 }
 
 private void validateDataWithIndex(Connection conn, String tableName, 
String indexName) throws SQLException {
-String query = "SELECT /*+ INDEX(" + indexName + ") */ k,v1 FROM " + 
tableName;
+String query = "SELECT /*+ INDEX(" + indexName + ")  */ k,v1 FROM " + 

phoenix git commit: PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while upserting.(Rajeshbabu)

2016-09-14 Thread rajeshbabu
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.1 5d5ae08b9 -> c749a3611


PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while 
upserting.(Rajeshbabu)


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

Branch: refs/heads/4.x-HBase-1.1
Commit: c749a361196e42e4eeb802f989994295859c7579
Parents: 5d5ae08
Author: Rajeshbabu Chintaguntla 
Authored: Wed Sep 14 21:04:05 2016 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Wed Sep 14 21:04:05 2016 +0530

--
 .../end2end/index/MutableIndexFailureIT.java| 34 +---
 .../index/PhoenixIndexFailurePolicy.java|  5 +--
 2 files changed, 32 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/c749a361/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
index 0a85216..c68d897 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
@@ -45,6 +45,7 @@ import 
org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.end2end.BaseOwnClusterHBaseManagedTimeIT;
 import org.apache.phoenix.end2end.NeedsOwnMiniClusterTest;
+import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.schema.PIndexState;
@@ -79,7 +80,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 
 private String tableName;
 private String indexName;
-private String fullTableName;
+public static volatile String fullTableName;
 private String fullIndexName;
 
 private final boolean transactional;
@@ -150,6 +151,11 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 FAIL_WRITE = false;
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
indexName + " ON " + fullTableName + " (v1) INCLUDE (v2)");
+// Create other index which should be local/global if the other 
index is global/local to
+// check the drop index.
+conn.createStatement().execute(
+"CREATE " + (!localIndex ? "LOCAL " : "") + "INDEX " + 
indexName + "_3" + " ON "
++ fullTableName + " (v2) INCLUDE (v1)");
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
secondIndexName + " ON " + secondTableName + " (v1) INCLUDE (v2)");
 
@@ -166,7 +172,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 assertTrue(rs.next());
 assertEquals(secondIndexName, rs.getString(3));
 assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
-assertFalse(rs.next());
+assertTrue(rs.next());
+assertEquals(indexName+"_3", rs.getString(3));
+assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
 initializeTable(conn, fullTableName);
 initializeTable(conn, secondTableName);
 
@@ -262,7 +270,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 stmt.setString(3, "4");
 stmt.execute();
 conn.commit();
-
+// To clear the index name from connection.
+PhoenixConnection phoenixConn = 
conn.unwrap(PhoenixConnection.class);
+phoenixConn.getMetaDataCache().removeTable(null, fullTableName, 
null, HConstants.LATEST_TIMESTAMP);
 // verify index table has correct data
 validateDataWithIndex(conn, fullTableName, fullIndexName);
 validateDataWithIndex(conn, secondTableName, secondFullIndexName);
@@ -306,7 +316,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 }
 
 private void validateDataWithIndex(Connection conn, String tableName, 
String indexName) throws SQLException {
-String query = "SELECT /*+ INDEX(" + indexName + ") */ k,v1 FROM " + 
tableName;
+String query = "SELECT /*+ INDEX(" + 

phoenix git commit: PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while upserting.(Rajeshbabu)

2016-09-14 Thread rajeshbabu
Repository: phoenix
Updated Branches:
  refs/heads/master b640b39ce -> e4fd03952


PHOENIX-3162 TableNotFoundException might be thrown when an index dropped while 
upserting.(Rajeshbabu)


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

Branch: refs/heads/master
Commit: e4fd03952a15be60eee6ddc557a19ce917c606c2
Parents: b640b39
Author: Rajeshbabu Chintaguntla 
Authored: Wed Sep 14 21:03:22 2016 +0530
Committer: Rajeshbabu Chintaguntla 
Committed: Wed Sep 14 21:03:22 2016 +0530

--
 .../end2end/index/MutableIndexFailureIT.java| 34 +---
 .../index/PhoenixIndexFailurePolicy.java|  5 +--
 2 files changed, 32 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/e4fd0395/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
index 0a85216..c68d897 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
@@ -45,6 +45,7 @@ import 
org.apache.hadoop.hbase.regionserver.MiniBatchOperationInProgress;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.phoenix.end2end.BaseOwnClusterHBaseManagedTimeIT;
 import org.apache.phoenix.end2end.NeedsOwnMiniClusterTest;
+import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryConstants;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.schema.PIndexState;
@@ -79,7 +80,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 
 private String tableName;
 private String indexName;
-private String fullTableName;
+public static volatile String fullTableName;
 private String fullIndexName;
 
 private final boolean transactional;
@@ -150,6 +151,11 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 FAIL_WRITE = false;
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
indexName + " ON " + fullTableName + " (v1) INCLUDE (v2)");
+// Create other index which should be local/global if the other 
index is global/local to
+// check the drop index.
+conn.createStatement().execute(
+"CREATE " + (!localIndex ? "LOCAL " : "") + "INDEX " + 
indexName + "_3" + " ON "
++ fullTableName + " (v2) INCLUDE (v1)");
 conn.createStatement().execute(
 "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + 
secondIndexName + " ON " + secondTableName + " (v1) INCLUDE (v2)");
 
@@ -166,7 +172,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 assertTrue(rs.next());
 assertEquals(secondIndexName, rs.getString(3));
 assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
-assertFalse(rs.next());
+assertTrue(rs.next());
+assertEquals(indexName+"_3", rs.getString(3));
+assertEquals(PIndexState.ACTIVE.toString(), 
rs.getString("INDEX_STATE"));
 initializeTable(conn, fullTableName);
 initializeTable(conn, secondTableName);
 
@@ -262,7 +270,9 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 stmt.setString(3, "4");
 stmt.execute();
 conn.commit();
-
+// To clear the index name from connection.
+PhoenixConnection phoenixConn = 
conn.unwrap(PhoenixConnection.class);
+phoenixConn.getMetaDataCache().removeTable(null, fullTableName, 
null, HConstants.LATEST_TIMESTAMP);
 // verify index table has correct data
 validateDataWithIndex(conn, fullTableName, fullIndexName);
 validateDataWithIndex(conn, secondTableName, secondFullIndexName);
@@ -306,7 +316,7 @@ public class MutableIndexFailureIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 }
 
 private void validateDataWithIndex(Connection conn, String tableName, 
String indexName) throws SQLException {
-String query = "SELECT /*+ INDEX(" + indexName + ") */ k,v1 FROM " + 
tableName;
+String query = "SELECT /*+ INDEX(" + indexName + ")  */