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

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


The following commit(s) were added to refs/heads/main by this push:
     new 87b05fda2f9f CAMEL-25860: upgrade guide notes for the 4.18.6 and 
4.22.3 pollEnrich timeout fix (#28176)
87b05fda2f9f is described below

commit 87b05fda2f9f201bf0af1c78243d32a418acce6c
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Oct 20 12:26:54 2026 +0200

    CAMEL-25860: upgrade guide notes for the 4.18.6 and 4.22.3 pollEnrich 
timeout fix (#28176)
    
    Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
---
 .../modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc   | 15 +++++++++++++++
 .../modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc   | 15 +++++++++++++++
 2 files changed, 30 insertions(+)

diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc
index a5c6fe07b79c..518520010a72 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_18.adoc
@@ -320,6 +320,21 @@ framing, are still allowed. Routes that put a 
percent-encoded control character
 `CamelHttpPath` or `CamelHttpQuery` header, which the producer decodes before 
building the request, are the ones most
 likely to be affected.
 
+=== camel-core - pollEnrich: the body is null after a timeout also for a 
message that creates its body on demand
+
+When `pollEnrich` (or `poll`) times out and no `aggregationStrategy` is 
configured, the body is set to `null`, and with
+`variableReceive` the variable is `null`. For a message that creates its body 
on demand, the `null` did not stick: the
+next read created the body again. The message of a file consumer creates its 
body from its file, so after a timeout
+the body, or the variable of `variableReceive`, was the file of the incoming 
exchange instead of `null`. The messages
+of the JMS, sjms, mail, HTTP, XMPP, SMPP, SNMP and Spring WS consumers create 
their body on demand as well, so there it
+was the payload of the consumer again.
+
+The body, or the variable, is now `null` after a timeout for these consumers 
too. A route that read the incoming file
+or payload from the body after a timed out `pollEnrich` must keep it before 
the `pollEnrich` instead, for example with
+`variableReceive`, which leaves the body as it was. To keep the body empty, 
the message is replaced by a plain message
+with the same message id, headers and attachments, so after a timeout it is no 
longer of the message type of the
+consumer (such as `GenericFileMessage` or `JmsMessage`).
+
 == Upgrading from 4.18.4 to 4.18.5
 
 === camel-azure-eventhubs
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc
index 1a476f3f5ee2..01c609c65005 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc
@@ -122,6 +122,21 @@ framing, are still allowed. Routes that put a 
percent-encoded control character
 `CamelHttpPath` or `CamelHttpQuery` header, which the producer decodes before 
building the request, are the ones most
 likely to be affected.
 
+=== camel-core - pollEnrich: the body is null after a timeout also for a 
message that creates its body on demand
+
+When `pollEnrich` (or `poll`) times out and no `aggregationStrategy` is 
configured, the body is set to `null`, and with
+`variableReceive` the variable is `null`. For a message that creates its body 
on demand, the `null` did not stick: the
+next read created the body again. The message of a file consumer creates its 
body from its file, so after a timeout
+the body, or the variable of `variableReceive`, was the file of the incoming 
exchange instead of `null`. The messages
+of the JMS, sjms, mail, HTTP, XMPP, SMPP, SNMP and Spring WS consumers create 
their body on demand as well, so there it
+was the payload of the consumer again.
+
+The body, or the variable, is now `null` after a timeout for these consumers 
too. A route that read the incoming file
+or payload from the body after a timed out `pollEnrich` must keep it before 
the `pollEnrich` instead, for example with
+`variableReceive`, which leaves the body as it was. To keep the body empty, 
the message is replaced by a plain message
+with the same message id, headers and attachments, so after a timeout it is no 
longer of the message type of the
+consumer (such as `GenericFileMessage` or `JmsMessage`).
+
 == Upgrading from 4.22.1 to 4.22.2
 
 === camel-lra - only an LRA hosted by the configured coordinator is joined

Reply via email to