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

apupier pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit be26e5930bc386cd2b44f9aa4ab16e132bb39ec0
Author: smjain <[email protected]>
AuthorDate: Thu Sep 24 08:32:40 2026 +0530

    CAMEL-24960: camel-core - Log an exception that occurs after the multicast 
exchange was completed
    
    Co-Authored-By: Claude Opus 5.5 <[email protected]>
---
 .../main/java/org/apache/camel/processor/MulticastProcessor.java | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/MulticastProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/MulticastProcessor.java
index 8c1b3a0c7873..6e9584466a11 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/MulticastProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/MulticastProcessor.java
@@ -568,6 +568,8 @@ public class MulticastProcessor extends BaseProcessorSupport
                 cancelTimeoutTask();
                 original.setException(e);
                 MulticastProcessor.this.doDone(original, null, pairs, 
callback, false, false);
+            } else {
+                logFailedAfterDone(e);
             }
         }
 
@@ -578,9 +580,16 @@ public class MulticastProcessor extends 
BaseProcessorSupport
             if (done.compareAndSet(false, true)) {
                 original.setException(e);
                 MulticastProcessor.this.doDone(original, null, pairs, 
callback, false, false);
+            } else {
+                logFailedAfterDone(e);
             }
         }
 
+        private void logFailedAfterDone(Exception e) {
+            LOG.debug("Exception occurred after the exchange was already 
completed, so it is not set on exchange: {}",
+                    original.getExchangeId(), e);
+        }
+
         private void cancelTimeoutTask() {
             // cancel timeout if we are done normally (we cannot cancel if 
called via onTimeout)
             if (timeoutTask != null) {

Reply via email to