diff --git a/.github/workflows/multi-language-client.yml b/.github/workflows/multi-language-client.yml index 89c64ec7178ed..b1374ae2795e5 100644 --- a/.github/workflows/multi-language-client.yml +++ b/.github/workflows/multi-language-client.yml @@ -119,7 +119,8 @@ jobs: run: | cd iotdb-client git clone https://github.com/apache/iotdb-client-go.git - cd iotdb-client-go + cd iotdb-client-go + git checkout rc/1.3.3 make e2e_test_for_parent_git_repo e2e_test_clean_for_parent_git_repo python: 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 477ae74da4b69..e99a1d14fcafe 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 @@ -1170,6 +1170,7 @@ public Future asyncClose() { * 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 7361f940b48af..e7fa54e0b65f4 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 @@ -178,10 +178,7 @@ record = new TSRecord(j, deviceId); 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); @@ -655,10 +652,6 @@ public void testDisableSeparateDataForInsertRowPlan() dataRegion.syncCloseAllWorkingTsFileProcessors(); } - for (TsFileProcessor tsfileProcessor : dataRegion.getWorkUnsequenceTsFileProcessors()) { - tsfileProcessor.syncFlush(); - } - QueryDataSource queryDataSource = dataRegion.query( Collections.singletonList(new PartialPath(deviceId, measurementId)), @@ -744,10 +737,6 @@ public void testDisableSeparateDataForInsertTablet1() dataRegion.insertTablet(insertTabletNode2); dataRegion.syncCloseAllWorkingTsFileProcessors(); - for (TsFileProcessor tsfileProcessor : dataRegion.getWorkUnsequenceTsFileProcessors()) { - tsfileProcessor.syncFlush(); - } - QueryDataSource queryDataSource = dataRegion.query( Collections.singletonList(new PartialPath(deviceId, measurementId)), @@ -832,10 +821,6 @@ public void testDisableSeparateDataForInsertTablet2() dataRegion.insertTablet(insertTabletNode2); dataRegion.syncCloseAllWorkingTsFileProcessors(); - for (TsFileProcessor tsfileProcessor : dataRegion.getWorkUnsequenceTsFileProcessors()) { - tsfileProcessor.syncFlush(); - } - QueryDataSource queryDataSource = dataRegion.query( Collections.singletonList(new PartialPath(deviceId, measurementId)), @@ -920,10 +905,6 @@ public void testDisableSeparateDataForInsertTablet3() dataRegion.insertTablet(insertTabletNode2); dataRegion.syncCloseAllWorkingTsFileProcessors(); - for (TsFileProcessor tsfileProcessor : dataRegion.getWorkUnsequenceTsFileProcessors()) { - tsfileProcessor.syncFlush(); - } - QueryDataSource queryDataSource = dataRegion.query( Collections.singletonList(new PartialPath(deviceId, measurementId)), @@ -999,11 +980,6 @@ public void testSmallReportProportionInsertRow() dataRegion1.syncCloseAllWorkingTsFileProcessors(); } dataRegion1.syncCloseAllWorkingTsFileProcessors(); - - for (TsFileProcessor tsfileProcessor : dataRegion1.getWorkUnsequenceTsFileProcessors()) { - tsfileProcessor.syncFlush(); - } - QueryDataSource queryDataSource = dataRegion1.query( Collections.singletonList(new PartialPath("root.ln22", measurementId)), @@ -1551,9 +1527,7 @@ public void testDeleteDataDirectlyUnseqWriteModsOrDeleteFiles() 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 20b3dfe378a26..b260445a5bd76 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.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.DeviceTimeIndex; import org.apache.iotdb.db.utils.EnvironmentUtils; @@ -90,9 +89,7 @@ record = new TSRecord(j, "root.vehicle.d0"); dataRegion.insert(DataRegionTest.buildInsertRowNodeByTSRecord(record)); } - for (TsFileProcessor tsfileProcessor : dataRegion.getWorkUnsequenceTsFileProcessors()) { - tsfileProcessor.syncFlush(); - } + dataRegion.syncCloseWorkingTsFileProcessors(false); Assert.assertEquals( 10000, dataRegion.getLastFlushTimeMap().getFlushedTime(0, new PlainDeviceID("root.vehicle.d0"))); @@ -116,10 +113,6 @@ record = new TSRecord(j, "root.vehicle.d0"); 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, @@ -155,10 +148,6 @@ record = new TSRecord(j, "root.vehicle.d0"); 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,