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

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

commit 17f85e33b1e981fe90bb946242e6c7810daf83c2
Author: Lari Hotari <lhot...@users.noreply.github.com>
AuthorDate: Mon Mar 17 15:51:52 2025 +0200

    [fix][broker] Avoid IllegalStateException when marker_type field is not set 
in publishing (#24087)
    
    (cherry picked from commit 3e6f7deb0afec2675aac74750f7526557f43c9e7)
---
 .../apache/pulsar/broker/service/persistent/MessageDeduplication.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/MessageDeduplication.java
 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/MessageDeduplication.java
index 085e4f688b8..9f734e69896 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/MessageDeduplication.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/MessageDeduplication.java
@@ -363,7 +363,7 @@ public class MessageDeduplication {
             // Message is coming from replication, we need to use the 
replication's producer name, ledger id and entry
             // id for the purpose of deduplication.
             MessageMetadata md = 
Commands.peekMessageMetadata(headersAndPayload, "Check-Deduplicate", -1);
-            if (Markers.isReplicationMarker(md.getMarkerType())) {
+            if (md != null && md.hasMarkerType() && 
Markers.isReplicationMarker(md.getMarkerType())) {
                 publishContext.setProperty(MSG_PROP_IS_REPL_MARKER, "");
             }
             return;

Reply via email to