This is an automated email from the ASF dual-hosted git repository.
technoboy pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.10 by this push:
new c9eb6bd19a9 [improve] [broker] Avoid
`PersistentSubscription.expireMessages` logic check backlog twice. (#20416)
c9eb6bd19a9 is described below
commit c9eb6bd19a9f3ba0837848cb2917dcc04729ce07
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 3352fb78d51..9654915685b 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
@@ -938,8 +938,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;