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 14b08210a02 [improve][broker]Skip to mark delete if the target
position of expira… (#24881)
14b08210a02 is described below
commit 14b08210a02a4cd7dcffdd941a27d9fd7092a2d4
Author: fengyubiao <[email protected]>
AuthorDate: Mon Oct 27 11:10:38 2025 +0800
[improve][broker]Skip to mark delete if the target position of expira…
(#24881)
Co-authored-by: Jiwei Guo <[email protected]>
Co-authored-by: Zixuan Liu <[email protected]>
---
.../broker/service/persistent/PersistentMessageExpiryMonitor.java | 4 ++++
1 file changed, 4 insertions(+)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentMessageExpiryMonitor.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentMessageExpiryMonitor.java
index 9191080d671..98b30bb7b9f 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentMessageExpiryMonitor.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentMessageExpiryMonitor.java
@@ -231,6 +231,10 @@ public class PersistentMessageExpiryMonitor implements
FindEntryCallback, Messag
@Override
public void findEntryComplete(Position position, Object ctx) {
if (position != null) {
+ var markDeletedPosition = cursor.getMarkDeletedPosition();
+ if (markDeletedPosition != null &&
markDeletedPosition.compareTo(position) >= 0) {
+ return;
+ }
log.info("[{}][{}] Expiring all messages until position {}",
topicName, subName, position);
Position prevMarkDeletePos = cursor.getMarkDeletedPosition();
cursor.asyncMarkDelete(position, cursor.getProperties(),
markDeleteCallback,