Skip to content

Commit 1651217

Browse files
committed
Fix flaky space quota IT
1 parent 44d4f6d commit 1651217

1 file changed

Lines changed: 23 additions & 7 deletions

File tree

integration-test/src/test/java/org/apache/iotdb/db/it/quotas/IoTDBSpaceQuotaIT.java

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.apache.iotdb.itbase.category.ClusterIT;
2727
import org.apache.iotdb.itbase.category.LocalStandaloneIT;
2828

29+
import org.awaitility.Awaitility;
2930
import org.junit.After;
3031
import org.junit.Assert;
3132
import org.junit.Before;
@@ -40,6 +41,7 @@
4041
import java.sql.Statement;
4142
import java.util.Arrays;
4243
import java.util.List;
44+
import java.util.concurrent.TimeUnit;
4345

4446
import static org.junit.Assert.assertEquals;
4547
import static org.junit.Assert.assertTrue;
@@ -297,17 +299,15 @@ public void setSpaceQuotaTest5() {
297299
"create timeseries root.sg0.wf01.wt02.status0 with datatype=BOOLEAN,encoding=PLAIN;");
298300
adminStmt.execute(
299301
"create timeseries root.sg0.wf01.wt02.status1 with datatype=BOOLEAN,encoding=PLAIN;");
300-
Thread.sleep(2000);
301-
ResultSet resultSet1 = adminStmt.executeQuery("show space quota root.sg0;");
302302
String ans1 =
303303
"root.sg0,diskSize,0.09765625G,0.0G"
304304
+ ",\n"
305305
+ "root.sg0,deviceNum,3,2"
306306
+ ",\n"
307307
+ "root.sg0,timeSeriesNum,5,3"
308308
+ ",\n";
309-
validateResultSet(resultSet1, ans1);
310-
} catch (InterruptedException | SQLException e) {
309+
validateResultSetEventually(adminStmt, "show space quota root.sg0;", ans1);
310+
} catch (SQLException e) {
311311
Assert.fail(e.getMessage());
312312
}
313313
}
@@ -509,6 +509,22 @@ public void showSpaceQuotaTest1() throws SQLException {
509509
}
510510
}
511511

512+
private void validateResultSetEventually(Statement statement, String sql, String ans) {
513+
Awaitility.await()
514+
.pollInSameThread()
515+
.pollDelay(0, TimeUnit.MILLISECONDS)
516+
.pollInterval(1, TimeUnit.SECONDS)
517+
.atMost(30, TimeUnit.SECONDS)
518+
.untilAsserted(
519+
() -> {
520+
try {
521+
validateResultSet(statement.executeQuery(sql), ans);
522+
} catch (SQLException e) {
523+
Assert.fail(e.getMessage());
524+
}
525+
});
526+
}
527+
512528
private void validateResultSet(ResultSet set, String ans) throws SQLException {
513529
try {
514530
StringBuilder builder = new StringBuilder();
@@ -521,12 +537,12 @@ private void validateResultSet(ResultSet set, String ans) throws SQLException {
521537
builder.append("\n");
522538
}
523539
String result = builder.toString();
524-
assertEquals(ans.length(), result.length());
540+
assertEquals(result, ans.length(), result.length());
525541
List<String> ansLines = Arrays.asList(ans.split("\n"));
526542
List<String> resultLines = Arrays.asList(result.split("\n"));
527-
assertEquals(ansLines.size(), resultLines.size());
543+
assertEquals(result, ansLines.size(), resultLines.size());
528544
for (String resultLine : resultLines) {
529-
assertTrue(ansLines.contains(resultLine));
545+
assertTrue(result, ansLines.contains(resultLine));
530546
}
531547
} finally {
532548
set.close();

0 commit comments

Comments
 (0)