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<>();
 

Reply via email to