From 134efd26a1265f18b805ef2dfa6f46a3ac3a0f56 Mon Sep 17 00:00:00 2001 From: 123123213weqw <1939455790@qq.com> Date: Thu, 13 Aug 2026 00:04:48 +0800 Subject: [PATCH] [ISSUE --- .../rocketmq/broker/pop/PopConsumerRocksdbStore.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerRocksdbStore.java b/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerRocksdbStore.java index dc68f9d9fe5..3e2fe8a36fe 100644 --- a/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerRocksdbStore.java +++ b/broker/src/main/java/org/apache/rocketmq/broker/pop/PopConsumerRocksdbStore.java @@ -147,9 +147,11 @@ public List scanExpiredRecords(long lower, long upper, int ma // configure prefix indexing to improve the performance of scans. // However, in the current implementation, this is not the bottleneck. List consumerRecordList = new ArrayList<>(); - try (ReadOptions scanOptions = new ReadOptions() - .setIterateLowerBound(new Slice(ByteBuffer.allocate(Long.BYTES).putLong(lower).array())) - .setIterateUpperBound(new Slice(ByteBuffer.allocate(Long.BYTES).putLong(upper).array())); + try (Slice lowerBound = new Slice(ByteBuffer.allocate(Long.BYTES).putLong(lower).array()); + Slice upperBound = new Slice(ByteBuffer.allocate(Long.BYTES).putLong(upper).array()); + ReadOptions scanOptions = new ReadOptions() + .setIterateLowerBound(lowerBound) + .setIterateUpperBound(upperBound); RocksIterator iterator = db.newIterator(this.columnFamilyHandle, scanOptions)) { iterator.seek(ByteBuffer.allocate(Long.BYTES).putLong(lower).array()); while (iterator.isValid() && consumerRecordList.size() < maxCount) {