2626import org .apache .iotdb .itbase .category .ClusterIT ;
2727import org .apache .iotdb .itbase .category .LocalStandaloneIT ;
2828
29+ import org .awaitility .Awaitility ;
2930import org .junit .After ;
3031import org .junit .Assert ;
3132import org .junit .Before ;
4041import java .sql .Statement ;
4142import java .util .Arrays ;
4243import java .util .List ;
44+ import java .util .concurrent .TimeUnit ;
4345
4446import static org .junit .Assert .assertEquals ;
4547import 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