From b057fce628167faa43ba13ed821acd0a243d8c02 Mon Sep 17 00:00:00 2001 From: zhaoyuhan Date: Tue, 11 Mar 2025 10:02:34 +0800 Subject: [PATCH 1/2] fix query message may mistake time range cause query failed --- .../apache/rocketmq/tieredstore/index/IndexStoreService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexStoreService.java b/tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexStoreService.java index 0db5dc5c4c5..91429da9458 100644 --- a/tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexStoreService.java +++ b/tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexStoreService.java @@ -229,6 +229,8 @@ public CompletableFuture> queryAsync( CompletableFuture> future = new CompletableFuture<>(); try { readWriteLock.readLock().lock(); + beginTime = this.timeStoreTable.lowerKey(beginTime) == null ? this.timeStoreTable.firstKey() : this.timeStoreTable.lowerKey(beginTime); + endTime = this.timeStoreTable.higherKey(endTime) == null ? this.timeStoreTable.lastKey() : this.timeStoreTable.higherKey(endTime); ConcurrentNavigableMap pendingMap = this.timeStoreTable.subMap(beginTime, true, endTime, true); List> futureList = new ArrayList<>(pendingMap.size()); From 9666904c689a841b259455eacfcb0327ad028d68 Mon Sep 17 00:00:00 2001 From: zhaoyuhan Date: Tue, 11 Mar 2025 10:32:06 +0800 Subject: [PATCH 2/2] no need to modify endTime --- .../org/apache/rocketmq/tieredstore/index/IndexStoreService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexStoreService.java b/tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexStoreService.java index 91429da9458..efd6103252f 100644 --- a/tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexStoreService.java +++ b/tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexStoreService.java @@ -230,7 +230,6 @@ public CompletableFuture> queryAsync( try { readWriteLock.readLock().lock(); beginTime = this.timeStoreTable.lowerKey(beginTime) == null ? this.timeStoreTable.firstKey() : this.timeStoreTable.lowerKey(beginTime); - endTime = this.timeStoreTable.higherKey(endTime) == null ? this.timeStoreTable.lastKey() : this.timeStoreTable.higherKey(endTime); ConcurrentNavigableMap pendingMap = this.timeStoreTable.subMap(beginTime, true, endTime, true); List> futureList = new ArrayList<>(pendingMap.size());