Skip to content

Commit 05bc4fd

Browse files
authored
Some files were not added to TsFileResourceManager
1 parent 642cf54 commit 05bc4fd

File tree

3 files changed

+42
-4
lines changed

3 files changed

+42
-4
lines changed

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3063,9 +3063,6 @@ private boolean loadTsFileToUnSequence(
30633063
PipeInsertionDataNodeListener.getInstance()
30643064
.listenToTsFile(dataRegionId, databaseName, tsFileResource, true, isGeneratedByPipe);
30653065

3066-
// help tsfile resource degrade
3067-
tsFileResourceManager.registerSealedTsFileResource(tsFileResource);
3068-
30693066
tsFileManager.add(tsFileResource, false);
30703067

30713068
return true;

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/tsfile/TsFileManager.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,6 @@ public void removeAll(List<TsFileResource> tsFileResourceList, boolean sequence)
174174
try {
175175
for (TsFileResource resource : tsFileResourceList) {
176176
remove(resource, sequence);
177-
TsFileResourceManager.getInstance().removeTsFileResource(resource);
178177
}
179178
} finally {
180179
writeLock("removeAll");
@@ -187,6 +186,7 @@ public void removeAll(List<TsFileResource> tsFileResourceList, boolean sequence)
187186
*/
188187
public void insertToPartitionFileList(
189188
TsFileResource tsFileResource, long timePartition, boolean sequence, int insertPos) {
189+
registerTsFileResourceToResourceManager(tsFileResource);
190190
writeLock("add");
191191
try {
192192
Map<Long, TsFileResourceList> selectedMap = sequence ? sequenceFiles : unsequenceFiles;
@@ -204,6 +204,7 @@ public void insertToPartitionFileList(
204204
}
205205

206206
public void add(TsFileResource tsFileResource, boolean sequence) {
207+
registerTsFileResourceToResourceManager(tsFileResource);
207208
writeLock("add");
208209
try {
209210
Map<Long, TsFileResourceList> selectedMap = sequence ? sequenceFiles : unsequenceFiles;
@@ -221,6 +222,7 @@ public void add(TsFileResource tsFileResource, boolean sequence) {
221222
}
222223

223224
public void keepOrderInsert(TsFileResource tsFileResource, boolean sequence) throws IOException {
225+
registerTsFileResourceToResourceManager(tsFileResource);
224226
writeLock("keepOrderInsert");
225227
try {
226228
Map<Long, TsFileResourceList> selectedMap = sequence ? sequenceFiles : unsequenceFiles;
@@ -248,6 +250,13 @@ public void addAll(List<TsFileResource> tsFileResourceList, boolean sequence) {
248250
}
249251
}
250252

253+
private void registerTsFileResourceToResourceManager(TsFileResource resource) {
254+
TsFileResourceStatus status = resource.getStatus();
255+
if (status != TsFileResourceStatus.UNCLOSED && status != TsFileResourceStatus.DELETED) {
256+
TsFileResourceManager.getInstance().registerSealedTsFileResource(resource);
257+
}
258+
}
259+
251260
/** This method is called after compaction to update memory. */
252261
public void replace(
253262
List<TsFileResource> seqFileResources,

iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/cross/InsertionCrossSpaceCompactionTest.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ public void setUp()
7272
enableInsertionCrossSpaceCompaction =
7373
IoTDBDescriptor.getInstance().getConfig().isEnableCrossSpaceCompaction();
7474
IoTDBDescriptor.getInstance().getConfig().setEnableCrossSpaceCompaction(true);
75+
TsFileResourceManager.getInstance().clear();
7576
}
7677

7778
@After
@@ -80,6 +81,7 @@ public void tearDown() throws IOException, StorageEngineException {
8081
.getConfig()
8182
.setEnableCrossSpaceCompaction(enableInsertionCrossSpaceCompaction);
8283
super.tearDown();
84+
TsFileResourceManager.getInstance().clear();
8385
}
8486

8587
@Test
@@ -127,6 +129,9 @@ public void test1() throws IOException, InterruptedException {
127129
long timestamp = TsFileNameGenerator.getTsFileName(targetFile.getTsFile().getName()).getTime();
128130
Assert.assertEquals(2, timestamp);
129131
Assert.assertTrue(tsFileManager.getTsFileList(false).isEmpty());
132+
Assert.assertEquals(
133+
tsFileManager.size(true) + tsFileManager.size(false),
134+
TsFileResourceManager.getInstance().getPriorityQueueSize());
130135
}
131136

132137
@Test
@@ -168,6 +173,9 @@ public void test2() throws IOException, InterruptedException {
168173
TsFileResource targetFile = tsFileManager.getTsFileList(true).get(1);
169174
long timestamp = TsFileNameGenerator.getTsFileName(targetFile.getTsFile().getName()).getTime();
170175
Assert.assertEquals(2, timestamp);
176+
Assert.assertEquals(
177+
tsFileManager.size(true) + tsFileManager.size(false),
178+
TsFileResourceManager.getInstance().getPriorityQueueSize());
171179
}
172180

173181
@Test
@@ -209,6 +217,9 @@ public void test3() throws IOException, InterruptedException {
209217
TsFileResource targetFile = tsFileManager.getTsFileList(true).get(0);
210218
long timestamp = TsFileNameGenerator.getTsFileName(targetFile.getTsFile().getName()).getTime();
211219
Assert.assertEquals(0, timestamp);
220+
Assert.assertEquals(
221+
tsFileManager.size(true) + tsFileManager.size(false),
222+
TsFileResourceManager.getInstance().getPriorityQueueSize());
212223
}
213224

214225
@Test
@@ -256,6 +267,9 @@ public void test4() throws IOException, InterruptedException {
256267
long timestamp = TsFileNameGenerator.getTsFileName(targetFile.getTsFile().getName()).getTime();
257268
Assert.assertEquals(4, timestamp);
258269
Assert.assertTrue(tsFileManager.getTsFileList(false).isEmpty());
270+
Assert.assertEquals(
271+
tsFileManager.size(true) + tsFileManager.size(false),
272+
TsFileResourceManager.getInstance().getPriorityQueueSize());
259273
}
260274

261275
@Test
@@ -291,6 +305,9 @@ public void test5() throws IOException, InterruptedException {
291305
TsFileResource targetFile = tsFileManager.getTsFileList(true).get(0);
292306
long timestamp = TsFileNameGenerator.getTsFileName(targetFile.getTsFile().getName()).getTime();
293307
Assert.assertEquals(2, timestamp);
308+
Assert.assertEquals(
309+
tsFileManager.size(true) + tsFileManager.size(false),
310+
TsFileResourceManager.getInstance().getPriorityQueueSize());
294311
}
295312

296313
@Test
@@ -340,6 +357,9 @@ public void testInsertionCompactionSchedule() throws IOException, InterruptedExc
340357
TsFileResource targetFile2 = tsFileManager.getTsFileList(true).get(2);
341358
timestamp = TsFileNameGenerator.getTsFileName(targetFile2.getTsFile().getName()).getTime();
342359
Assert.assertEquals(6, timestamp);
360+
Assert.assertEquals(
361+
tsFileManager.size(true) + tsFileManager.size(false),
362+
TsFileResourceManager.getInstance().getPriorityQueueSize());
343363
}
344364

345365
@Test
@@ -378,6 +398,9 @@ public void testInsertionCompactionScheduleWithEmptySeqSpace()
378398
TsFileResource targetFile3 = tsFileManager.getTsFileList(true).get(2);
379399
timestamp = TsFileNameGenerator.getTsFileName(targetFile3.getTsFile().getName()).getTime();
380400
Assert.assertEquals(4, timestamp);
401+
Assert.assertEquals(
402+
tsFileManager.size(true) + tsFileManager.size(false),
403+
TsFileResourceManager.getInstance().getPriorityQueueSize());
381404
}
382405

383406
@Test
@@ -423,6 +446,9 @@ public void testInsertionCompactionScheduleWithEmptySeqSpace2()
423446
TsFileResource targetFile2 = tsFileManager.getTsFileList(true).get(1);
424447
timestamp = TsFileNameGenerator.getTsFileName(targetFile2.getTsFile().getName()).getTime();
425448
Assert.assertEquals(2, timestamp);
449+
Assert.assertEquals(
450+
tsFileManager.size(true) + tsFileManager.size(false),
451+
TsFileResourceManager.getInstance().getPriorityQueueSize());
426452
}
427453

428454
@Test
@@ -473,6 +499,9 @@ public void testInsertionCompactionScheduleWithMultiTimePartitions()
473499
TsFileResource targetFile3 = tsFileManager.getOrCreateSequenceListByTimePartition(2808).get(0);
474500
timestamp = TsFileNameGenerator.getTsFileName(targetFile3.getTsFile().getName()).getTime();
475501
Assert.assertEquals(4, timestamp);
502+
Assert.assertEquals(
503+
tsFileManager.size(true) + tsFileManager.size(false),
504+
TsFileResourceManager.getInstance().getPriorityQueueSize());
476505
}
477506

478507
@Test
@@ -526,6 +555,9 @@ public void testInsertionCompactionUpdateFileMetrics() throws IOException {
526555
Assert.assertEquals(seqFileNumBeforeCompaction, FileMetrics.getInstance().getFileCount(true));
527556
Assert.assertEquals(
528557
unseqFileNumBeforeCompaction, FileMetrics.getInstance().getFileCount(false));
558+
Assert.assertEquals(
559+
tsFileManager.size(true) + tsFileManager.size(false),
560+
TsFileResourceManager.getInstance().getPriorityQueueSize());
529561
}
530562

531563
public TsFileResource generateSingleNonAlignedSeriesFileWithDevices(

0 commit comments

Comments
 (0)