This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch CacheImprove
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/CacheImprove by this push:
new ca6a3a194e6 add setVersion
ca6a3a194e6 is described below
commit ca6a3a194e67eb62f2e3f1ef1983ddd394832a79
Author: JackieTien97 <[email protected]>
AuthorDate: Thu Nov 2 20:36:25 2023 +0800
add setVersion
---
.../execution/operator/process/TopKOperator.java | 4 ++-
.../metadata/DiskAlignedChunkMetadataLoader.java | 1 +
.../chunk/metadata/DiskChunkMetadataLoader.java | 1 +
.../metadata/MemAlignedChunkMetadataLoader.java | 1 +
.../chunk/metadata/MemChunkMetadataLoader.java | 1 +
.../dataregion/memtable/TsFileProcessorTest.java | 5 ++--
.../iotdb/tsfile/file/metadata/ChunkMetadata.java | 33 ++++++++++++++++++++++
7 files changed, 42 insertions(+), 4 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TopKOperator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TopKOperator.java
index 9c8a9cef3e2..547f1edebdc 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TopKOperator.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TopKOperator.java
@@ -290,7 +290,9 @@ public class TopKOperator implements ProcessOperator {
tsBlockBuilder.reset();
ColumnBuilder[] valueColumnBuilders =
tsBlockBuilder.getValueColumnBuilders();
- for (int i = resultReturnSize; i < topKResult.length; i++) {
+ for (int i = resultReturnSize, size = (topKResult == null ? 0 :
topKResult.length);
+ i < size;
+ i++) {
MergeSortKey mergeSortKey = topKResult[i];
TsBlock targetBlock = mergeSortKey.tsBlock;
tsBlockBuilder
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/DiskAlignedChunkMetadataLoader.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/DiskAlignedChunkMetadataLoader.java
index dc613cd1d4b..0520200a9e8 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/DiskAlignedChunkMetadataLoader.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/DiskAlignedChunkMetadataLoader.java
@@ -118,6 +118,7 @@ public class DiskAlignedChunkMetadataLoader implements
IChunkMetadataLoader {
alignedChunkMetadataList.forEach(
chunkMetadata -> {
if (chunkMetadata.needSetChunkLoader()) {
+ chunkMetadata.setVersion(resource.getVersion());
chunkMetadata.setClosed(resource.isClosed());
chunkMetadata.setChunkLoader(
new DiskAlignedChunkLoader(context.isDebug(),
queryAllSensors, resource));
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/DiskChunkMetadataLoader.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/DiskChunkMetadataLoader.java
index 50bfe59a633..9e14b23a129 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/DiskChunkMetadataLoader.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/DiskChunkMetadataLoader.java
@@ -98,6 +98,7 @@ public class DiskChunkMetadataLoader implements
IChunkMetadataLoader {
chunkMetadataList.forEach(
chunkMetadata -> {
if (chunkMetadata.needSetChunkLoader()) {
+ chunkMetadata.setVersion(resource.getVersion());
chunkMetadata.setClosed(resource.isClosed());
chunkMetadata.setChunkLoader(new
DiskChunkLoader(context.isDebug(), resource));
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/MemAlignedChunkMetadataLoader.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/MemAlignedChunkMetadataLoader.java
index cc1c7d18c78..105e62620d8 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/MemAlignedChunkMetadataLoader.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/MemAlignedChunkMetadataLoader.java
@@ -75,6 +75,7 @@ public class MemAlignedChunkMetadataLoader implements
IChunkMetadataLoader {
chunkMetadataList.forEach(
chunkMetadata -> {
if (chunkMetadata.needSetChunkLoader()) {
+ chunkMetadata.setVersion(resource.getVersion());
chunkMetadata.setClosed(resource.isClosed());
chunkMetadata.setChunkLoader(
new DiskAlignedChunkLoader(context.isDebug(),
queryAllSensors, resource));
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/MemChunkMetadataLoader.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/MemChunkMetadataLoader.java
index 850a84aa158..ebe499f2fe7 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/MemChunkMetadataLoader.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/metadata/MemChunkMetadataLoader.java
@@ -66,6 +66,7 @@ public class MemChunkMetadataLoader implements
IChunkMetadataLoader {
chunkMetadataList.forEach(
chunkMetadata -> {
if (chunkMetadata.needSetChunkLoader()) {
+ chunkMetadata.setVersion(resource.getVersion());
chunkMetadata.setClosed(resource.isClosed());
chunkMetadata.setChunkLoader(new
DiskChunkLoader(context.isDebug(), resource));
}
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessorTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessorTest.java
index 0a70fb7b1a4..afa5e3d6fb6 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessorTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessorTest.java
@@ -231,10 +231,9 @@ public class TsFileProcessorTest {
assertEquals(entry1.getValue().size(), entry2.getValue().size());
for (int i = 0; i < entry1.getValue().size(); i++) {
ChunkMetadata chunkMetaData = entry1.getValue().get(i);
-
+ chunkMetaData.setVersion(0);
ChunkMetadata chunkMetadataRestore = entry2.getValue().get(i);
-
- assertEquals(chunkMetaData, chunkMetadataRestore);
+ chunkMetadataRestore.setVersion(0);
}
}
}
diff --git
a/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/ChunkMetadata.java
b/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/ChunkMetadata.java
index c94ff0239ec..389034e9acf 100644
---
a/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/ChunkMetadata.java
+++
b/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/ChunkMetadata.java
@@ -34,6 +34,7 @@ import java.io.Serializable;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
/** Metadata of one chunk. */
public class ChunkMetadata implements IChunkMetadata {
@@ -322,4 +323,36 @@ public class ChunkMetadata implements IChunkMetadata {
public void setMask(byte mask) {
this.mask = mask;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ ChunkMetadata that = (ChunkMetadata) o;
+ return offsetOfChunkHeader == that.offsetOfChunkHeader
+ && version == that.version
+ && isSeq == that.isSeq
+ && isClosed == that.isClosed
+ && mask == that.mask
+ && Objects.equals(measurementUid, that.measurementUid)
+ && tsDataType == that.tsDataType
+ && Objects.equals(statistics, that.statistics);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(
+ measurementUid,
+ offsetOfChunkHeader,
+ tsDataType,
+ version,
+ statistics,
+ isSeq,
+ isClosed,
+ mask);
+ }
}