Repository: phoenix Updated Branches: refs/heads/4.x-HBase-1.1 9296254e2 -> c63155661
PHOENIX-4170 Remove rebuildIndexOnFailure param from MutableIndexFailureIT Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/c6315566 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/c6315566 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/c6315566 Branch: refs/heads/4.x-HBase-1.1 Commit: c63155661e8f9f198f0f3833fb829ca4dfdadd75 Parents: 9296254 Author: Samarth Jain <sama...@apache.org> Authored: Wed Sep 6 17:58:45 2017 -0700 Committer: Samarth Jain <sama...@apache.org> Committed: Wed Sep 6 17:58:45 2017 -0700 ---------------------------------------------------------------------- .../end2end/index/MutableIndexFailureIT.java | 82 +++++++------------- 1 file changed, 27 insertions(+), 55 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/c6315566/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 5797819..199957a 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 @@ -24,7 +24,6 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.sql.Connection; -import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -103,7 +102,6 @@ public class MutableIndexFailureIT extends BaseTest { private final String tableDDLOptions; private final boolean isNamespaceMapped; private final boolean leaveIndexActiveOnFailure; - private final boolean rebuildIndexOnWriteFailure; private final boolean failRebuildTask; private final boolean throwIndexWriteFailure; private String schema = generateUniqueName(); @@ -113,12 +111,11 @@ public class MutableIndexFailureIT extends BaseTest { private static final int disableTimestampThresholdMs = 10000; private static final int numRpcRetries = 2; - public MutableIndexFailureIT(boolean transactional, boolean localIndex, boolean isNamespaceMapped, Boolean disableIndexOnWriteFailure, Boolean rebuildIndexOnWriteFailure, boolean failRebuildTask, Boolean throwIndexWriteFailure) { + public MutableIndexFailureIT(boolean transactional, boolean localIndex, boolean isNamespaceMapped, Boolean disableIndexOnWriteFailure, boolean failRebuildTask, Boolean throwIndexWriteFailure) { this.transactional = transactional; this.localIndex = localIndex; this.tableDDLOptions = " SALT_BUCKETS=2 " + (transactional ? ", TRANSACTIONAL=true " : "") + (disableIndexOnWriteFailure == null ? "" : (", " + PhoenixIndexFailurePolicy.DISABLE_INDEX_ON_WRITE_FAILURE + "=" + disableIndexOnWriteFailure)) - + (rebuildIndexOnWriteFailure == null ? "" : (", " + PhoenixIndexFailurePolicy.REBUILD_INDEX_ON_WRITE_FAILURE + "=" + rebuildIndexOnWriteFailure)) + (throwIndexWriteFailure == null ? "" : (", " + PhoenixIndexFailurePolicy.THROW_INDEX_WRITE_FAILURE + "=" + throwIndexWriteFailure)); this.tableName = FailingRegionObserver.FAIL_TABLE_NAME; this.indexName = "A_" + FailingRegionObserver.FAIL_INDEX_NAME; @@ -126,7 +123,6 @@ public class MutableIndexFailureIT extends BaseTest { this.fullIndexName = SchemaUtil.getTableName(schema, indexName); this.isNamespaceMapped = isNamespaceMapped; this.leaveIndexActiveOnFailure = ! (disableIndexOnWriteFailure == null ? QueryServicesOptions.DEFAULT_INDEX_FAILURE_DISABLE_INDEX : disableIndexOnWriteFailure); - this.rebuildIndexOnWriteFailure = ! Boolean.FALSE.equals(rebuildIndexOnWriteFailure); this.failRebuildTask = failRebuildTask; this.throwIndexWriteFailure = ! Boolean.FALSE.equals(throwIndexWriteFailure); } @@ -163,31 +159,31 @@ public class MutableIndexFailureIT extends BaseTest { indexRebuildTaskRegionEnvironment.getConfiguration()); } - @Parameters(name = "MutableIndexFailureIT_transactional={0},localIndex={1},isNamespaceMapped={2},disableIndexOnWriteFailure={3},rebuildIndexOnWriteFailure={4},failRebuildTask={5},throwIndexWriteFailure={6}") // name is used by failsafe as file name in reports + @Parameters(name = "MutableIndexFailureIT_transactional={0},localIndex={1},isNamespaceMapped={2},disableIndexOnWriteFailure={3},failRebuildTask={4},throwIndexWriteFailure={5}") // name is used by failsafe as file name in reports public static List<Object[]> data() { return Arrays.asList(new Object[][] { - { false, false, false, true, true, false, false}, - { false, false, true, true, true, false, null}, - { false, false, true, true, true, false, true}, - { false, false, false, true, true, false, null}, - { 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}, + { false, false, false, true, false, false}, + { false, false, true, true, false, null}, + { false, false, true, true, false, true}, + { false, false, false, 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, true, false, null}, - { false, true, false, false, null, false, null}, - { false, false, false, false, false, false, null}, - { false, false, false, true, true, false, null}, - { false, false, false, true, true, false, null}, - { false, true, false, true, true, false, null}, - { false, true, false, true, true, false, null}, - { false, false, false, true, true, true, null}, - { false, false, true, true, true, true, null}, - { false, false, false, true, true, true, false}, - { false, false, true, true, true, true, false}, + { false, false, false, false, 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, 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}, + { false, false, true, true, true, false}, } ); } @@ -342,15 +338,9 @@ public class MutableIndexFailureIT extends BaseTest { if (!failRebuildTask) { // re-enable index table FailingRegionObserver.FAIL_WRITE = false; - if (rebuildIndexOnWriteFailure) { - runRebuildTask(conn); - // wait for index to be rebuilt automatically - checkStateAfterRebuild(conn, fullIndexName, PIndexState.ACTIVE); - } else { - // simulate replaying failed mutation - replayMutations(); - } - + runRebuildTask(conn); + // 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(?,?,?)"); stmt.setString(1, "a3"); @@ -451,25 +441,7 @@ public class MutableIndexFailureIT extends BaseTest { assertFalse(rs.next()); } } - - private void replayMutations() throws SQLException { - Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); - for (int i = 0; i < exceptions.size(); i++) { - CommitException e = exceptions.get(i); - long ts = e.getServerTimestamp(); - props.setProperty(PhoenixRuntime.REPLAY_AT_ATTRIB, Long.toString(ts)); - try (Connection conn = DriverManager.getConnection(getUrl(), props)) { - if (i == 0) { - updateTable(conn, false); - } else if (i == 1) { - updateTableAgain(conn, false); - } else { - fail(); - } - } - } - } - + private void updateTable(Connection conn, boolean commitShouldFail) throws SQLException { PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + fullTableName + " VALUES(?,?,?)"); // Insert new row