This is an automated email from the ASF dual-hosted git repository.
jiangtian 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 5d0935495f5 fix ut (#13145)
5d0935495f5 is described below
commit 5d0935495f5f0da97ac580b1973d1d0f1c64c7bf
Author: shuwenwei <[email protected]>
AuthorDate: Tue Aug 13 14:27:27 2024 +0800
fix ut (#13145)
---
.../utils/CompactionTableSchemaCollector.java | 2 +-
.../compaction/io/CompactionTsFileWriter.java | 22 +++++++++++++++++++++-
.../TableModelFastCompactionPerformerTest.java | 4 ++--
...TableModelReadChunkCompactionPerformerTest.java | 7 +++----
...TableModelReadPointCompactionPerformerTest.java | 4 ++--
5 files changed, 29 insertions(+), 10 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/CompactionTableSchemaCollector.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/CompactionTableSchemaCollector.java
index 762dfb293e0..a16dfa9424a 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/CompactionTableSchemaCollector.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/CompactionTableSchemaCollector.java
@@ -92,6 +92,6 @@ public class CompactionTableSchemaCollector {
}
private static boolean isTreeModel(TableSchema tableSchema) {
- return tableSchema.getTableName().startsWith("root.");
+ return tableSchema == null;
}
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/io/CompactionTsFileWriter.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/io/CompactionTsFileWriter.java
index c1e7a79cf2b..c80185bd28b 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/io/CompactionTsFileWriter.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/io/CompactionTsFileWriter.java
@@ -26,6 +26,7 @@ import
org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.constant
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.file.metadata.ChunkMetadata;
+import org.apache.tsfile.file.metadata.IDeviceID;
import org.apache.tsfile.file.metadata.TableSchema;
import org.apache.tsfile.file.metadata.enums.CompressionType;
import org.apache.tsfile.file.metadata.enums.TSEncoding;
@@ -48,6 +49,7 @@ public class CompactionTsFileWriter extends TsFileIOWriter {
private volatile boolean isWritingAligned = false;
private boolean isEmptyTargetFile = true;
+ private IDeviceID currentDeviceId;
public CompactionTsFileWriter(File file, long maxMetadataSize,
CompactionType type)
throws IOException {
@@ -56,7 +58,6 @@ public class CompactionTsFileWriter extends TsFileIOWriter {
super.out =
new CompactionTsFileOutput(
super.out,
CompactionTaskManager.getInstance().getMergeWriteRateLimiter());
- setGenerateTableSchema(true);
}
public void markStartingWritingAligned() {
@@ -120,6 +121,25 @@ public class CompactionTsFileWriter extends TsFileIOWriter
{
return size;
}
+ @Override
+ public int startChunkGroup(IDeviceID deviceId) throws IOException {
+ currentDeviceId = deviceId;
+ return super.startChunkGroup(deviceId);
+ }
+
+ @Override
+ public void endChunkGroup() throws IOException {
+ if (currentDeviceId == null || chunkMetadataList.isEmpty()) {
+ return;
+ }
+ String tableName = currentDeviceId.getTableName();
+ TableSchema tableSchema = getSchema().getTableSchemaMap().get(tableName);
+ boolean generateTableSchemaForCurrentChunkGroup = tableSchema != null;
+ setGenerateTableSchema(generateTableSchemaForCurrentChunkGroup);
+ super.endChunkGroup();
+ currentDeviceId = null;
+ }
+
@Override
public void endFile() throws IOException {
long beforeSize = this.getPos();
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelFastCompactionPerformerTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelFastCompactionPerformerTest.java
index a718472e80d..9b4092745f6 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelFastCompactionPerformerTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelFastCompactionPerformerTest.java
@@ -211,7 +211,7 @@ public class TableModelFastCompactionPerformerTest extends
AbstractCompactionTes
new TsFileSequenceReader(
tsFileManager.getTsFileList(true).get(0).getTsFile().getAbsolutePath())) {
TsFileMetadata tsFileMetadata = reader.readFileMetadata();
- Assert.assertEquals(3, tsFileMetadata.getTableSchemaMap().size());
+ Assert.assertEquals(1, tsFileMetadata.getTableSchemaMap().size());
}
}
@@ -250,7 +250,7 @@ public class TableModelFastCompactionPerformerTest extends
AbstractCompactionTes
new TsFileSequenceReader(
tsFileManager.getTsFileList(true).get(0).getTsFile().getAbsolutePath())) {
TsFileMetadata tsFileMetadata = reader.readFileMetadata();
- Assert.assertEquals(2, tsFileMetadata.getTableSchemaMap().size());
+ Assert.assertEquals(1, tsFileMetadata.getTableSchemaMap().size());
}
}
}
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelReadChunkCompactionPerformerTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelReadChunkCompactionPerformerTest.java
index 9cc62d88aef..6ca6ed62cce 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelReadChunkCompactionPerformerTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelReadChunkCompactionPerformerTest.java
@@ -166,8 +166,7 @@ public class TableModelReadChunkCompactionPerformerTest
extends AbstractCompacti
try (TsFileSequenceReader reader =
new
TsFileSequenceReader(targetResource.getTsFile().getAbsolutePath())) {
TsFileMetadata tsFileMetadata = reader.readFileMetadata();
- TableSchema tableSchema =
tsFileMetadata.getTableSchemaMap().get("root.testsg");
- Assert.assertEquals(3, tableSchema.getColumnTypes().size());
+ Assert.assertTrue(tsFileMetadata.getTableSchemaMap().isEmpty());
Map<IDeviceID, List<TimeseriesMetadata>> allTimeseriesMetadata =
reader.getAllTimeseriesMetadata(true);
for (Map.Entry<IDeviceID, List<TimeseriesMetadata>> entry :
@@ -215,7 +214,7 @@ public class TableModelReadChunkCompactionPerformerTest
extends AbstractCompacti
try (TsFileSequenceReader reader =
new
TsFileSequenceReader(targetResource.getTsFile().getAbsolutePath())) {
TsFileMetadata tsFileMetadata = reader.readFileMetadata();
- Assert.assertEquals(2, tsFileMetadata.getTableSchemaMap().size());
+ Assert.assertEquals(1, tsFileMetadata.getTableSchemaMap().size());
}
}
@@ -323,7 +322,7 @@ public class TableModelReadChunkCompactionPerformerTest
extends AbstractCompacti
new TsFileSequenceReader(
tsFileManager.getTsFileList(true).get(0).getTsFile().getAbsolutePath())) {
TsFileMetadata tsFileMetadata = reader.readFileMetadata();
- Assert.assertEquals(3, tsFileMetadata.getTableSchemaMap().size());
+ Assert.assertEquals(1, tsFileMetadata.getTableSchemaMap().size());
}
}
}
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelReadPointCompactionPerformerTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelReadPointCompactionPerformerTest.java
index b3430a102d2..a68a8c400a6 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelReadPointCompactionPerformerTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/tablemodel/TableModelReadPointCompactionPerformerTest.java
@@ -223,7 +223,7 @@ public class TableModelReadPointCompactionPerformerTest
extends AbstractCompacti
new TsFileSequenceReader(
tsFileManager.getTsFileList(true).get(0).getTsFile().getAbsolutePath())) {
TsFileMetadata tsFileMetadata = reader.readFileMetadata();
- Assert.assertEquals(3, tsFileMetadata.getTableSchemaMap().size());
+ Assert.assertEquals(1, tsFileMetadata.getTableSchemaMap().size());
}
}
@@ -262,7 +262,7 @@ public class TableModelReadPointCompactionPerformerTest
extends AbstractCompacti
new TsFileSequenceReader(
tsFileManager.getTsFileList(true).get(0).getTsFile().getAbsolutePath())) {
TsFileMetadata tsFileMetadata = reader.readFileMetadata();
- Assert.assertEquals(2, tsFileMetadata.getTableSchemaMap().size());
+ Assert.assertEquals(1, tsFileMetadata.getTableSchemaMap().size());
}
}
}