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 e9da7c89fbd6 CAMEL-25227: camel-azure-eventhubs - sync the 4.14, 4.18
and 4.22 upgrade guides (#27381)
e9da7c89fbd6 is described below
commit e9da7c89fbd638f8cfefa40627bea1ad9b25ca87
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Oct 5 20:35:43 2026 +0200
CAMEL-25227: camel-azure-eventhubs - sync the 4.14, 4.18 and 4.22 upgrade
guides (#27381)
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
---
.../catalog/docs/azure-eventhubs-component.adoc | 10 +++++++---
.../src/main/docs/azure-eventhubs-component.adoc | 10 +++++++---
.../ROOT/pages/camel-4x-upgrade-guide-4_14.adoc | 3 +++
.../ROOT/pages/camel-4x-upgrade-guide-4_18.adoc | 21 +++++++++++++++++++++
.../ROOT/pages/camel-4x-upgrade-guide-4_22.adoc | 21 +++++++++++++++++++++
5 files changed, 59 insertions(+), 6 deletions(-)
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/azure-eventhubs-component.adoc
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/azure-eventhubs-component.adoc
index 79cb97975367..0ac28e852335 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/azure-eventhubs-component.adoc
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/azure-eventhubs-component.adoc
@@ -191,9 +191,13 @@ The producer sends the events to the partition chosen, in
this order, by:
. the partition key of the event received by an `azure-eventhubs` consumer
earlier in the route, so that events with
the same key stay together
-Otherwise, Event Hubs picks the partition. The consumer sets the same two
headers on every event it receives. While
-they still hold the received values, the producer does not take them as a
partition chosen by the route, and it never
-reuses the partition id of a received event, because partitions differ from
one Event Hub to another.
+Otherwise, Event Hubs picks the partition. The partition key and the partition
id are looked up separately, so a
+partition id header set by the route together with a `partitionKey` endpoint
option, or a partition key header together
+with a `partitionId` option, selects both, and the producer fails with `Both
partitionKey and partitionId are set`.
+
+The consumer sets the same two headers on every event it receives. While they
still hold the received values, the
+producer does not take them as a partition chosen by the route, and it never
reuses the partition id of a received
+event, because partitions differ from one Event Hub to another.
To keep the partition of the received event, for example when mirroring
between Event Hubs that have the same
partitions, remove the `CamelAzureEventHubsReceivedPartitionId` exchange
property, or
diff --git
a/components/camel-azure/camel-azure-eventhubs/src/main/docs/azure-eventhubs-component.adoc
b/components/camel-azure/camel-azure-eventhubs/src/main/docs/azure-eventhubs-component.adoc
index 79cb97975367..0ac28e852335 100644
---
a/components/camel-azure/camel-azure-eventhubs/src/main/docs/azure-eventhubs-component.adoc
+++
b/components/camel-azure/camel-azure-eventhubs/src/main/docs/azure-eventhubs-component.adoc
@@ -191,9 +191,13 @@ The producer sends the events to the partition chosen, in
this order, by:
. the partition key of the event received by an `azure-eventhubs` consumer
earlier in the route, so that events with
the same key stay together
-Otherwise, Event Hubs picks the partition. The consumer sets the same two
headers on every event it receives. While
-they still hold the received values, the producer does not take them as a
partition chosen by the route, and it never
-reuses the partition id of a received event, because partitions differ from
one Event Hub to another.
+Otherwise, Event Hubs picks the partition. The partition key and the partition
id are looked up separately, so a
+partition id header set by the route together with a `partitionKey` endpoint
option, or a partition key header together
+with a `partitionId` option, selects both, and the producer fails with `Both
partitionKey and partitionId are set`.
+
+The consumer sets the same two headers on every event it receives. While they
still hold the received values, the
+producer does not take them as a partition chosen by the route, and it never
reuses the partition id of a received
+event, because partitions differ from one Event Hub to another.
To keep the partition of the received event, for example when mirroring
between Event Hubs that have the same
partitions, remove the `CamelAzureEventHubsReceivedPartitionId` exchange
property, or
diff --git
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
index 2799ad236521..c68c78b35615 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_14.adoc
@@ -53,6 +53,9 @@ filtering performed by other components.
Ordinary application headers are unaffected.
+NOTE: The filter was not installed in 4.14.9, so the producer still copied
every header. It is applied from
+4.18.5, 4.22.2 and 4.23.0 (CAMEL-25227).
+
=== camel-atmosphere-websocket - potential breaking change
The Exchange header constants in `WebsocketConstants` have been renamed to
follow the
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 2a12fb0deede..0411732c7d45 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
@@ -13,6 +13,24 @@ See the xref:camel-upgrade-recipes-tool.adoc[documentation]
page for details.
== Upgrading from 4.18.4 to 4.18.5
+=== camel-azure-eventhubs
+
+The producer now leaves the Camel-internal headers (`Camel*`) out of the
`EventData` application properties by
+default. The 4.18.4 upgrade guide already announced this, but the filter was
not installed, so 4.18.4 and earlier 4.18
+releases still copied every header. Configure a custom `headerFilterStrategy`
on the component
+to change which headers are sent.
+
+A route that consumes from one Event Hub and produces to another no longer
fails, or ignores the producer
+configuration, because of the `CamelAzureEventHubsPartitionKey` and
`CamelAzureEventHubsPartitionId` headers that the
+consumer sets. Such a route used to fail with `Both partitionKey and
partitionId are set` for every event with a
+partition key, and for every event when `partitionKey` was configured, and a
configured `partitionId` was replaced by
+the partition the event was received from. The producer now picks the
partition from, in this order: a partition
+header set by the route, the `partitionKey` or `partitionId` endpoint option,
and the partition key of the received
+event. It no longer reuses the partition id of the received event, so an event
without a partition key is no longer
+sent to the partition with the same id in the target Event Hub. To keep doing
so, for example when mirroring between
+Event Hubs that have the same partitions, remove the
`CamelAzureEventHubsReceivedPartitionId` exchange property before
+the producer.
+
=== camel-zipfile, camel-tarfile - a maxDecompressedSize of 2 GiB or more is
now enforced
The `maxDecompressedSize` option of the Zip File and Tar File data formats
(and of `ZipSplitter`) was not
@@ -444,6 +462,9 @@ filtering performed by other components.
Ordinary application headers are unaffected.
+NOTE: The filter was not installed in 4.18.4, so the producer still copied
every header. It is applied from
+4.18.5, see the 4.18.5 entry for `camel-azure-eventhubs` (CAMEL-25227).
+
=== camel-atmosphere-websocket - potential breaking change
The Exchange header constants in `WebsocketConstants` have been renamed to
follow the
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 2e067dde8f0f..833c5ead441c 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
@@ -13,6 +13,24 @@ See the xref:camel-upgrade-recipes-tool.adoc[documentation]
page for details.
== Upgrading from 4.22.1 to 4.22.2
+=== camel-azure-eventhubs
+
+The producer now leaves the Camel-internal headers (`Camel*`) out of the
`EventData` application properties by
+default. The 4.22.0 upgrade guide already announced this, but the filter was
not installed, so 4.22.0 and 4.22.1 still
+copied every header. Configure a custom `headerFilterStrategy` on the component
+to change which headers are sent.
+
+A route that consumes from one Event Hub and produces to another no longer
fails, or ignores the producer
+configuration, because of the `CamelAzureEventHubsPartitionKey` and
`CamelAzureEventHubsPartitionId` headers that the
+consumer sets. Such a route used to fail with `Both partitionKey and
partitionId are set` for every event with a
+partition key, and for every event when `partitionKey` was configured, and a
configured `partitionId` was replaced by
+the partition the event was received from. The producer now picks the
partition from, in this order: a partition
+header set by the route, the `partitionKey` or `partitionId` endpoint option,
and the partition key of the received
+event. It no longer reuses the partition id of the received event, so an event
without a partition key is no longer
+sent to the partition with the same id in the target Event Hub. To keep doing
so, for example when mirroring between
+Event Hubs that have the same partitions, remove the
`CamelAzureEventHubsReceivedPartitionId` exchange property before
+the producer.
+
=== camel-xslt and camel-xslt-saxon - implicit DOM sources
When a non-`Source` input is implicitly converted to a `DOMSource` pointing at
its owner document's
@@ -1656,6 +1674,9 @@ filtering performed by other components.
Ordinary application headers are unaffected.
+NOTE: The filter was not installed in 4.22.0 and 4.22.1, so the producer still
copied every header. It is
+applied from 4.22.2, see the 4.22.2 entry for `camel-azure-eventhubs`
(CAMEL-25227).
+
=== camel-azure-storage-datalake - openInputStream no longer uses Blob Query
API
The `getFile` operation on the Data Lake consumer/producer now uses the
standard