This is an automated email from the ASF dual-hosted git repository. lizhimin pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push: new 622c807653 [ISSUE #9233] Query message in tiered storage may fail for the first correct index file was not selected (#9234) 622c807653 is described below commit 622c8076534680781fc42e26def8c2b516ab4c7e Author: bxfjb <48467309+bx...@users.noreply.github.com> AuthorDate: Thu Mar 13 17:02:58 2025 +0800 [ISSUE #9233] Query message in tiered storage may fail for the first correct index file was not selected (#9234) --- .../java/org/apache/rocketmq/tieredstore/index/IndexStoreService.java | 4 +++- 1 file changed, 3 insertions(+), 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 0db5dc5c4c..75c61dcb38 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,8 +229,10 @@ public class IndexStoreService extends ServiceThread implements IndexService { CompletableFuture<List<IndexItem>> future = new CompletableFuture<>(); try { readWriteLock.readLock().lock(); + long firstFileTimeStamp = this.timeStoreTable.lowerKey(beginTime) == null ? + this.timeStoreTable.firstKey() : this.timeStoreTable.lowerKey(beginTime); ConcurrentNavigableMap<Long, IndexFile> pendingMap = - this.timeStoreTable.subMap(beginTime, true, endTime, true); + this.timeStoreTable.subMap(firstFileTimeStamp, true, endTime, true); List<CompletableFuture<Void>> futureList = new ArrayList<>(pendingMap.size()); ConcurrentHashMap<String /* queueId-offset */, IndexItem> result = new ConcurrentHashMap<>();