Skip to content

Commit 9f70219

Browse files
authoredJul 13, 2022
[fix][broker] Do not use IO thread for consumerFlow in Shared subscription (apache#16304)
1 parent ea417fb commit 9f70219

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed
 

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

+7-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,13 @@ public synchronized void removeConsumer(Consumer consumer) throws BrokerServiceE
211211
}
212212

213213
@Override
214-
public synchronized void consumerFlow(Consumer consumer, int additionalNumberOfMessages) {
214+
public void consumerFlow(Consumer consumer, int additionalNumberOfMessages) {
215+
topic.getBrokerService().executor().execute(() -> {
216+
internalConsumerFlow(consumer, additionalNumberOfMessages);
217+
});
218+
}
219+
220+
private synchronized void internalConsumerFlow(Consumer consumer, int additionalNumberOfMessages) {
215221
if (!consumerSet.contains(consumer)) {
216222
if (log.isDebugEnabled()) {
217223
log.debug("[{}] Ignoring flow control from disconnected consumer {}", name, consumer);

0 commit comments

Comments
 (0)
Please sign in to comment.