You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ja...@apache.org on 2017/10/03 20:36:37 UTC
phoenix git commit: PHOENIX-4271 MutableIndexFailureIT failing for
local indexes on 4.x-HBase branches
Repository: phoenix
Updated Branches:
refs/heads/4.x-HBase-0.98 acc6f3b5b -> 57bdb344a
PHOENIX-4271 MutableIndexFailureIT failing for local indexes on 4.x-HBase branches
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/57bdb344
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/57bdb344
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/57bdb344
Branch: refs/heads/4.x-HBase-0.98
Commit: 57bdb344a50572a1fa53da41aacd7a6715c529a0
Parents: acc6f3b
Author: James Taylor <jt...@salesforce.com>
Authored: Tue Oct 3 13:33:41 2017 -0700
Committer: James Taylor <jt...@salesforce.com>
Committed: Tue Oct 3 13:33:41 2017 -0700
----------------------------------------------------------------------
.../end2end/index/MutableIndexFailureIT.java | 42 +++++++++++---------
1 file changed, 23 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/57bdb344/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 7e829e4..0318925 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
@@ -165,22 +165,20 @@ public class MutableIndexFailureIT extends BaseTest {
{ false, false, true, true, false, null},
{ false, false, true, true, false, true},
{ false, false, false, true, false, null},
- // FIXME: PHOENIX-4036 and PHOENIX-4037. Test cases with transactional or local
- // indexes don't pass reliably.
- //{ true, false, false, true, true, false, null},
- //{ true, false, true, true, true, false, null},
- //{ false, true, true, true, true, false, null},
- //{ false, true, false, null, null, false, null},
- //{ true, true, false, true, null, false, null},
- //{ true, true, true, null, true, false, null},
+ { true, false, false, true, false, null},
+ { true, false, true, true, false, null},
+ { false, true, true, true, false, null},
+ { false, true, false, null, false, null},
+ { true, true, false, true, false, null},
+ { true, true, true, null, false, null},
{ false, false, false, false, false, null},
- //{ false, true, false, false, null, false, null},
+ { false, true, false, false, false, null},
{ false, false, false, false, false, null},
{ false, false, false, true, false, null},
{ false, false, false, true, false, null},
- //{ false, true, false, true, true, false, null},
- //{ false, true, false, true, true, false, null},
+ { false, true, false, true, false, null},
+ { false, true, false, true, false, null},
{ false, false, false, true, true, null},
{ false, false, true, true, true, null},
{ false, false, false, true, true, false},
@@ -304,10 +302,13 @@ public class MutableIndexFailureIT extends BaseTest {
assertTrue(PIndexState.ACTIVE.toString().equals(indexState) || PIndexState.PENDING_ACTIVE.toString().equals(indexState));
} else {
assertTrue(PIndexState.DISABLE.toString().equals(indexState) || PIndexState.INACTIVE.toString().equals(indexState));
- // non-failing index should remain active
- ResultSet thirdRs = conn.createStatement().executeQuery(getSysCatQuery(thirdIndexName));
- assertTrue(thirdRs.next());
- assertEquals(PIndexState.ACTIVE.getSerializedValue(), thirdRs.getString(1));
+ // non-failing index should remain active unless the failure came from a local index
+ // in which case all local indexes are marked as disabled.
+ if (!localIndex) {
+ ResultSet thirdRs = conn.createStatement().executeQuery(getSysCatQuery(thirdIndexName));
+ assertTrue(thirdRs.next());
+ assertEquals(PIndexState.ACTIVE.getSerializedValue(), thirdRs.getString(1));
+ }
}
assertFalse(rs.next());
@@ -337,7 +338,11 @@ public class MutableIndexFailureIT extends BaseTest {
assertEquals("d", rs.getString(2));
assertFalse(rs.next());
}
- IndexScrutiny.scrutinizeIndex(conn, fullTableName, thirdFullIndexName);
+ // See comment above. All local indexes are disabled when a write failure occurs
+ // to any of them.
+ if (!localIndex) {
+ IndexScrutiny.scrutinizeIndex(conn, fullTableName, thirdFullIndexName);
+ }
if (!failRebuildTask) {
// re-enable index table
@@ -346,8 +351,7 @@ public class MutableIndexFailureIT extends BaseTest {
// wait for index to be rebuilt automatically
checkStateAfterRebuild(conn, fullIndexName, PIndexState.ACTIVE);
// Verify UPSERT on data table still works after index table is caught up
- PreparedStatement stmt =
- conn.prepareStatement("UPSERT INTO " + fullTableName + " VALUES(?,?,?)");
+ PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + fullTableName + " VALUES(?,?,?)");
stmt.setString(1, "a3");
stmt.setString(2, "x4");
stmt.setString(3, "4");
@@ -452,7 +456,7 @@ public class MutableIndexFailureIT extends BaseTest {
assertFalse(rs.next());
}
}
-
+
private void updateTable(Connection conn, boolean commitShouldFail) throws SQLException {
PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + fullTableName + " VALUES(?,?,?)");
// Insert new row