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;