Skip to content

Commit e97d532

Browse files
committed
[Broker] Call .release() when discarding entry to prevent direct memory leak (apache#11748)
(cherry picked from commit 7906bb5)
1 parent 968432c commit e97d532

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentDispatcherSingleActiveConsumer.java

+2
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,9 @@ public synchronized void internalReadEntriesComplete(final List<Entry> entries,
175175
Entry entry = iterator.next();
176176
byte[] key = peekStickyKey(entry.getDataBuffer());
177177
Consumer consumer = stickyKeyConsumerSelector.select(key);
178+
// Skip the entry if it's not for current active consumer.
178179
if (consumer == null || currentConsumer != consumer) {
180+
entry.release();
179181
iterator.remove();
180182
}
181183
}

0 commit comments

Comments
 (0)