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;
   }

Reply via email to