This is an automated email from the ASF dual-hosted git repository.

technoboy pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-3.0 by this push:
     new 0126b0a1f35 [improve] [broker] Avoid 
`PersistentSubscription.expireMessages` logic check backlog twice. (#20416)
0126b0a1f35 is described below

commit 0126b0a1f3597ddbb37afc0da9f35701f726dc71
Author: lifepuzzlefun <[email protected]>
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 d283cac77c7..090e8e25377 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
@@ -1062,8 +1062,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;

Reply via email to