You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by te...@apache.org on 2023/05/29 14:11:35 UTC
[pulsar] branch master updated: [improve] [broker] Avoid `PersistentSubscription.expireMessages` logic check backlog twice. (#20416)
This is an automated email from the ASF dual-hosted git repository.
technoboy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new fafadee9061 [improve] [broker] Avoid `PersistentSubscription.expireMessages` logic check backlog twice. (#20416)
fafadee9061 is described below
commit fafadee9061f1256cbb73385415bb9b978e74401
Author: lifepuzzlefun <wj...@163.com>
AuthorDate: Mon May 29 22:11:28 2023 +0800
[improve] [broker] Avoid `PersistentSubscription.expireMessages` logic check backlog twice. (#20416)
---
.../pulsar/broker/service/persistent/PersistentSubscription.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentSubscription.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentSubscription.java
index 4e74857cef9..dc666f3a18e 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentSubscription.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentSubscription.java
@@ -1048,8 +1048,9 @@ public class PersistentSubscription extends AbstractSubscription implements Subs
@Override
public boolean expireMessages(int messageTTLInSeconds) {
- if ((getNumberOfEntriesInBacklog(false) == 0) || (dispatcher != null && dispatcher.isConsumerConnected()
- && getNumberOfEntriesInBacklog(false) < MINIMUM_BACKLOG_FOR_EXPIRY_CHECK
+ long backlog = getNumberOfEntriesInBacklog(false);
+ if (backlog == 0 || (dispatcher != null && dispatcher.isConsumerConnected()
+ && backlog < MINIMUM_BACKLOG_FOR_EXPIRY_CHECK
&& !topic.isOldestMessageExpired(cursor, messageTTLInSeconds))) {
// don't do anything for almost caught-up connected subscriptions
return false;