Skip to content

Commit 48ef55a

Browse files
author
yangxiaohui
committed
[Bug] Calling queryMessage rocketmq may pose an OOM risk #7948
1 parent 34c32d8 commit 48ef55a

File tree

2 files changed

+33
-2
lines changed

2 files changed

+33
-2
lines changed

store/src/main/java/org/apache/rocketmq/store/index/IndexService.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,11 +164,10 @@ public void destroy() {
164164
}
165165

166166
public QueryOffsetResult queryOffset(String topic, String key, int maxNum, long begin, long end) {
167-
List<Long> phyOffsets = new ArrayList<>(maxNum);
168-
169167
long indexLastUpdateTimestamp = 0;
170168
long indexLastUpdatePhyoffset = 0;
171169
maxNum = Math.min(maxNum, this.defaultMessageStore.getMessageStoreConfig().getMaxMsgsNumBatch());
170+
List<Long> phyOffsets = new ArrayList<>(maxNum);
172171
try {
173172
this.readWriteLock.readLock().lock();
174173
if (!this.indexFileList.isEmpty()) {
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package org.apache.rocketmq.store.index;
2+
3+
import org.apache.rocketmq.common.BrokerConfig;
4+
import org.apache.rocketmq.store.DefaultMessageStore;
5+
import org.apache.rocketmq.store.config.MessageStoreConfig;
6+
import org.apache.rocketmq.store.stats.BrokerStatsManager;
7+
import org.junit.Test;
8+
9+
import java.util.concurrent.ConcurrentHashMap;
10+
11+
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
12+
13+
14+
public class IndexServiceTest {
15+
16+
@Test
17+
public void testQueryOffsetThrow() throws Exception {
18+
assertDoesNotThrow(() -> {
19+
DefaultMessageStore store = new DefaultMessageStore(
20+
new MessageStoreConfig(),
21+
new BrokerStatsManager(new BrokerConfig()),
22+
null,
23+
new BrokerConfig(),
24+
new ConcurrentHashMap<>()
25+
);
26+
27+
IndexService indexService = new IndexService(store);
28+
indexService.queryOffset("test", "", Integer.MAX_VALUE, 10, 100);
29+
});
30+
}
31+
32+
}

0 commit comments

Comments
 (0)