This is an automated email from the ASF dual-hosted git repository. gokcen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/phoenix.git
The following commit(s) were added to refs/heads/master by this push: new 6bad8b4 PHOENIX-5719 IndexRebuildTaskIT sometimes fails 6bad8b4 is described below commit 6bad8b4a6653f9fa78bd5fcbb3787408fae989f6 Author: Gokcen Iskender <gisken...@salesforce.com> AuthorDate: Thu Feb 13 09:01:39 2020 -0800 PHOENIX-5719 IndexRebuildTaskIT sometimes fails --- .../java/org/apache/phoenix/end2end/IndexRebuildTaskIT.java | 11 ++++++----- .../org/apache/phoenix/coprocessor/TaskRegionObserver.java | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexRebuildTaskIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexRebuildTaskIT.java index 86411c1..33519b9 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexRebuildTaskIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IndexRebuildTaskIT.java @@ -138,7 +138,7 @@ public class IndexRebuildTaskIT extends BaseUniqueNamesOwnClusterIT { count = getUtility().countRows(indexHTable); assertEquals(0, count); - String data = "{IndexName:" + indexName + ", DisableBefore: true}"; + String data = "{IndexName:" + indexName + "}"; // Run IndexRebuildTask TaskRegionObserver.SelfHealingTask task = @@ -173,7 +173,9 @@ public class IndexRebuildTaskIT extends BaseUniqueNamesOwnClusterIT { public static void waitForTaskState(Connection conn, PTable.TaskType taskType, String expectedTableName, PTable.TaskStatus expectedTaskStatus) throws InterruptedException, SQLException { - int maxTries = 100, nTries = 0; + int maxTries = 200, nTries = 0; + String taskStatus = ""; + String taskData = ""; do { Thread.sleep(2000); ResultSet rs = conn.createStatement().executeQuery("SELECT * " + @@ -182,16 +184,15 @@ public class IndexRebuildTaskIT extends BaseUniqueNamesOwnClusterIT { PhoenixDatabaseMetaData.TASK_TYPE + " = " + taskType.getSerializedValue()); - String taskStatus = null; - while (rs.next()) { taskStatus = rs.getString(PhoenixDatabaseMetaData.TASK_STATUS); + taskData = rs.getString(PhoenixDatabaseMetaData.TASK_DATA); boolean matchesExpected = (expectedTaskStatus.toString().equals(taskStatus)); if (matchesExpected) { return; } } } while (++nTries < maxTries); - fail("Ran out of time waiting for task state to become " + expectedTaskStatus); + fail(String.format("Ran out of time waiting for current task state %s to become %s. TaskData: %s", taskStatus, expectedTaskStatus, taskData)); } } diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/TaskRegionObserver.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/TaskRegionObserver.java index 34e2413..6c846e5 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/TaskRegionObserver.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/TaskRegionObserver.java @@ -195,7 +195,7 @@ public class TaskRegionObserver implements RegionObserver, RegionCoprocessor { Task.queryTaskTable(connForTask, taskRecord.getTimeStamp(), taskRecord.getSchemaName(), taskRecord.getTableName(), taskType, taskRecord.getTenantId(), null).get(0); - if (taskRecord.getStatus() != null && Arrays.stream(excludeStates).anyMatch(taskRecord.getStatus()::equals)) { + if (taskRecord.getStatus() != null && !taskRecord.getStatus().equals(PTable.TaskStatus.CREATED.toString())) { continue; }