This is an automated email from the ASF dual-hosted git repository.

haonan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 5b7f1c66260 Fix flaky LastFlushTimeMapTest (#14225)
5b7f1c66260 is described below

commit 5b7f1c6626040805762630bbf68d16117511431b
Author: Haonan <[email protected]>
AuthorDate: Wed Nov 27 16:22:22 2024 +0800

    Fix flaky LastFlushTimeMapTest (#14225)
---
 .../dataregion/memtable/TsFileProcessor.java       |  1 +
 .../storageengine/dataregion/DataRegionTest.java   | 29 ++--------------------
 .../dataregion/LastFlushTimeMapTest.java           | 13 +---------
 3 files changed, 4 insertions(+), 39 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessor.java
index 7bd09293d76..f5c176521aa 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessor.java
@@ -1311,6 +1311,7 @@ public class TsFileProcessor {
    * TODO if the flushing thread is too fast, the tmpMemTable.wait() may never 
wakeup Tips: I am
    * trying to solve this issue by checking whether the table exist before 
wait()
    */
+  @TestOnly
   public void syncFlush() throws IOException {
     IMemTable tmpMemTable;
     flushQueryLock.writeLock().lock();
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/DataRegionTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/DataRegionTest.java
index caf752047e5..9367bb91a8a 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/DataRegionTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/DataRegionTest.java
@@ -197,10 +197,7 @@ public class DataRegionTest {
       record.addTuple(DataPoint.getDataPoint(TSDataType.INT32, measurementId, 
String.valueOf(j)));
       dataRegion.insert(buildInsertRowNodeByTSRecord(record));
     }
-
-    for (TsFileProcessor tsfileProcessor : 
dataRegion.getWorkUnsequenceTsFileProcessors()) {
-      tsfileProcessor.syncFlush();
-    }
+    dataRegion.syncCloseWorkingTsFileProcessors(false);
 
     for (int j = 11; j <= 20; j++) {
       record = new TSRecord(j, deviceId);
@@ -753,10 +750,6 @@ public class DataRegionTest {
       dataRegion.syncCloseAllWorkingTsFileProcessors();
     }
 
-    for (TsFileProcessor tsfileProcessor : 
dataRegion.getWorkUnsequenceTsFileProcessors()) {
-      tsfileProcessor.syncFlush();
-    }
-
     QueryDataSource queryDataSource =
         dataRegion.query(
             Collections.singletonList(nonAlignedFullPath), device, context, 
null, null);
@@ -838,10 +831,6 @@ public class DataRegionTest {
     dataRegion.insertTablet(insertTabletNode2);
     dataRegion.syncCloseAllWorkingTsFileProcessors();
 
-    for (TsFileProcessor tsfileProcessor : 
dataRegion.getWorkUnsequenceTsFileProcessors()) {
-      tsfileProcessor.syncFlush();
-    }
-
     QueryDataSource queryDataSource =
         dataRegion.query(
             Collections.singletonList(nonAlignedFullPath), device, context, 
null, null);
@@ -922,10 +911,6 @@ public class DataRegionTest {
     dataRegion.insertTablet(insertTabletNode2);
     dataRegion.syncCloseAllWorkingTsFileProcessors();
 
-    for (TsFileProcessor tsfileProcessor : 
dataRegion.getWorkUnsequenceTsFileProcessors()) {
-      tsfileProcessor.syncFlush();
-    }
-
     QueryDataSource queryDataSource =
         dataRegion.query(
             Collections.singletonList(nonAlignedFullPath), device, context, 
null, null);
@@ -1006,10 +991,6 @@ public class DataRegionTest {
     dataRegion.insertTablet(insertTabletNode2);
     dataRegion.syncCloseAllWorkingTsFileProcessors();
 
-    for (TsFileProcessor tsfileProcessor : 
dataRegion.getWorkUnsequenceTsFileProcessors()) {
-      tsfileProcessor.syncFlush();
-    }
-
     QueryDataSource queryDataSource =
         dataRegion.query(
             Collections.singletonList(nonAlignedFullPath), device, context, 
null, null);
@@ -1084,10 +1065,6 @@ public class DataRegionTest {
       dataRegion1.syncCloseAllWorkingTsFileProcessors();
     }
     dataRegion1.syncCloseAllWorkingTsFileProcessors();
-
-    for (TsFileProcessor tsfileProcessor : 
dataRegion1.getWorkUnsequenceTsFileProcessors()) {
-      tsfileProcessor.syncFlush();
-    }
     IDeviceID tmpDeviceId = 
IDeviceID.Factory.DEFAULT_FACTORY.create("root.ln22");
     QueryDataSource queryDataSource =
         dataRegion1.query(
@@ -1733,9 +1710,7 @@ public class DataRegionTest {
       dataRegion.insert(buildInsertRowNodeByTSRecord(record));
     }
 
-    for (TsFileProcessor processor : 
dataRegion.getWorkSequenceTsFileProcessors()) {
-      processor.syncFlush();
-    }
+    dataRegion.syncCloseWorkingTsFileProcessors(true);
     TsFileResource tsFileResourceUnSeq = 
dataRegion.getTsFileManager().getTsFileList(false).get(0);
 
     Assert.assertTrue(tsFileResourceSeq.getTsFile().exists());
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/LastFlushTimeMapTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/LastFlushTimeMapTest.java
index eb40f66a6d0..397ed6037ac 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/LastFlushTimeMapTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/LastFlushTimeMapTest.java
@@ -25,7 +25,6 @@ import org.apache.iotdb.db.exception.DataRegionException;
 import org.apache.iotdb.db.exception.WriteProcessException;
 import org.apache.iotdb.db.storageengine.StorageEngine;
 import 
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionTaskManager;
-import org.apache.iotdb.db.storageengine.dataregion.memtable.TsFileProcessor;
 import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource;
 import 
org.apache.iotdb.db.storageengine.dataregion.tsfile.timeindex.ArrayDeviceTimeIndex;
 import org.apache.iotdb.db.utils.EnvironmentUtils;
@@ -89,9 +88,7 @@ public class LastFlushTimeMapTest {
       dataRegion.insert(DataRegionTest.buildInsertRowNodeByTSRecord(record));
     }
 
-    for (TsFileProcessor tsfileProcessor : 
dataRegion.getWorkUnsequenceTsFileProcessors()) {
-      tsfileProcessor.syncFlush();
-    }
+    dataRegion.syncCloseWorkingTsFileProcessors(false);
     Assert.assertEquals(
         10000,
         dataRegion
@@ -117,10 +114,6 @@ public class LastFlushTimeMapTest {
       record.addTuple(DataPoint.getDataPoint(TSDataType.INT32, measurementId, 
String.valueOf(j)));
       dataRegion.insert(DataRegionTest.buildInsertRowNodeByTSRecord(record));
     }
-
-    for (TsFileProcessor tsfileProcessor : 
dataRegion.getWorkUnsequenceTsFileProcessors()) {
-      tsfileProcessor.syncFlush();
-    }
     dataRegion.syncCloseAllWorkingTsFileProcessors();
     Assert.assertEquals(
         10000,
@@ -164,10 +157,6 @@ public class LastFlushTimeMapTest {
       record.addTuple(DataPoint.getDataPoint(TSDataType.INT32, measurementId, 
String.valueOf(j)));
       dataRegion.insert(DataRegionTest.buildInsertRowNodeByTSRecord(record));
     }
-
-    for (TsFileProcessor tsfileProcessor : 
dataRegion.getWorkUnsequenceTsFileProcessors()) {
-      tsfileProcessor.syncFlush();
-    }
     dataRegion.syncCloseAllWorkingTsFileProcessors();
     Assert.assertEquals(
         604_800_000,

Reply via email to