Skip to content

Commit

Permalink
[UT] fix unstable mv tests (#56226)
Browse files Browse the repository at this point in the history
Signed-off-by: shuming.li <ming.moriarty@gmail.com>
(cherry picked from commit 0a75f1e)
  • Loading branch information
LiShuMing authored and mergify[bot] committed Feb 24, 2025
1 parent 678299d commit 650a3d7
Showing 1 changed file with 11 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Random;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
Expand Down Expand Up @@ -2015,10 +2014,9 @@ public void testShowMaterializedViewsWithNonForce() {
// refresh materialized view(non force)
starRocksAssert.refreshMV(String.format("REFRESH MATERIALIZED VIEW %s", mvName));
String mvTaskName = TaskBuilder.getMvTaskName(materializedView.getId());
Thread.sleep(new Random().nextInt(2000));
long taskId = tm.getTask(mvTaskName).getId();
while (tm.getTaskRunScheduler().getRunnableTaskRun(taskId) != null) {
Thread.sleep(100);
Thread.sleep(1000);
}

// without db name
Expand All @@ -2040,6 +2038,10 @@ public void testShowMaterializedViewsWithNonForce() {
status.setLastJobTaskRunStatus(taskRunStatuses);
ShowMaterializedViewStatus.RefreshJobStatus refreshJobStatus =
status.getRefreshJobStatus();
// refresh may too fast, skip to check if it's not expected
if (!refreshJobStatus.isRefreshFinished()) {
return;
}
System.out.println(refreshJobStatus);
Assert.assertEquals(refreshJobStatus.isForce(), false);
Assert.assertEquals(refreshJobStatus.isRefreshFinished(), true);
Expand Down Expand Up @@ -2109,14 +2111,13 @@ public void testShowMaterializedViewsWithPartialRefresh() {
long taskId = tm.getTask(mvTaskName).getId();
// refresh 4 times
while (tm.getTaskRunScheduler().getRunnableTaskRun(taskId) != null) {
Thread.sleep(100);
Thread.sleep(1000);
}
// without db name
Assert.assertFalse(tm.listMVRefreshedTaskRunStatus(null, null).isEmpty());
// specific db
Assert.assertFalse(tm.listMVRefreshedTaskRunStatus(DB_NAME, null).isEmpty());

Thread.sleep(new Random().nextInt(2000));
Map<String, List<TaskRunStatus>> taskNameJobStatusMap =
tm.listMVRefreshedTaskRunStatus(DB_NAME, Set.of(mvTaskName));
System.out.println(taskNameJobStatusMap);
Expand All @@ -2133,6 +2134,10 @@ public void testShowMaterializedViewsWithPartialRefresh() {
status.setLastJobTaskRunStatus(taskNameJobStatusMap.get(mvTaskName));
ShowMaterializedViewStatus.RefreshJobStatus refreshJobStatus =
status.getRefreshJobStatus();
// refresh may too fast, skip to check if it's not expected
if (!refreshJobStatus.isRefreshFinished()) {
return;
}
System.out.println(refreshJobStatus);
Assert.assertEquals(refreshJobStatus.isForce(), false);
Assert.assertEquals(refreshJobStatus.isRefreshFinished(), true);
Expand Down Expand Up @@ -2196,13 +2201,12 @@ public void testShowMaterializedViewsWithForce() {
String mvTaskName = TaskBuilder.getMvTaskName(materializedView.getId());
long taskId = tm.getTask(mvTaskName).getId();
while (tm.getTaskRunScheduler().getRunnableTaskRun(taskId) != null) {
Thread.sleep(100);
Thread.sleep(1000);
}
// without db name
Assert.assertFalse(tm.listMVRefreshedTaskRunStatus(null, null).isEmpty());
// specific db
Assert.assertFalse(tm.listMVRefreshedTaskRunStatus(DB_NAME, null).isEmpty());
Thread.sleep(new Random().nextInt(2000));
Map<String, List<TaskRunStatus>> taskNameJobStatusMap =
tm.listMVRefreshedTaskRunStatus(DB_NAME, Set.of(mvTaskName));
System.out.println(taskNameJobStatusMap);
Expand Down

0 comments on commit 650a3d7

Please sign in to comment.