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 2eed096a330 Fix PointPriorityReader compare PointElement (#12945)
2eed096a330 is described below
commit 2eed096a3303a689307efe8dec5989a6efb95f8c
Author: shuwenwei <[email protected]>
AuthorDate: Wed Jul 17 09:51:15 2024 +0800
Fix PointPriorityReader compare PointElement (#12945)
* fix PointPriorityReader compare PointElement
* fix PointPriorityReader compare PointElement
---
.../compaction/execute/utils/reader/PointPriorityReader.java | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/reader/PointPriorityReader.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/reader/PointPriorityReader.java
index 4145a0b4de4..3c02b629060 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/reader/PointPriorityReader.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/reader/PointPriorityReader.java
@@ -58,7 +58,17 @@ public class PointPriorityReader {
new PriorityQueue<>(
(o1, o2) -> {
int timeCompare = Long.compare(o1.timestamp, o2.timestamp);
- return timeCompare != 0 ? timeCompare :
Long.compare(o2.priority, o1.priority);
+ if (timeCompare != 0) {
+ return timeCompare;
+ }
+ boolean o1IsSeq =
+
o1.pageElement.getChunkMetadataElement().fileElement.resource.isSeq();
+ boolean o2IsSeq =
+
o2.pageElement.getChunkMetadataElement().fileElement.resource.isSeq();
+ if (o1IsSeq != o2IsSeq) {
+ return o1IsSeq ? 1 : -1;
+ }
+ return Long.compare(o2.priority, o1.priority);
});
this.isAligned = isAligned;
}