Fix read 0 entries cause message stop dispatch (#5894)
### Motivation Fix topic stop dispatch messages to consumers after read or replay 0 entries from bookie fter check the broker log, i find following logs: ``` 23:18:27.125 [bookkeeper-ml-workers-OrderedExecutor-0-0] DEBUG org.apache.pulsar.broker.service.persistent.PersistentDispatcherMultipleConsumers - [persistent://message-platform/client-metrics/monitor-metrics / metrics-report] Distributing 0 messages to 4 consumers ``` This will cause do not continue reading more entries https://github.com/apache/pulsar/blob/master/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentDispatcherMultipleConsumers.java#L460 Because readMoreEntries is called at the end of sendMessagesToConsumers, if the consumer no longer sends a permit request because it has not received any messages, dispatcher will stop dispatch any messages. ### Modifications If read 0 entries from bookie, trigger readMoreEntries
Showing
想要评论请 注册 或 登录