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

Reply via email to