From bf368f1977b5c12d0e5ddbb5a1749f0a62182024 Mon Sep 17 00:00:00 2001 From: Andreas Bednarz Date: Fri, 10 Apr 2026 15:43:00 +1000 Subject: [PATCH] Clarify which versions of ATSP have an issue with multiple endpoints consuming the same message --- persistence/azure-table/index.md | 5 ++--- .../index_outbox-storage-format_astp_[3,5).partial.md | 2 ++ .../index_outbox-storage-format_astp_[5,6).partial.md | 5 +++++ .../index_outbox-storage-format_astp_[6,7).partial.md | 5 +++++ .../index_outbox-storage-format_astp_[7,).partial.md | 5 +++++ 5 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 persistence/azure-table/index_outbox-storage-format_astp_[3,5).partial.md create mode 100644 persistence/azure-table/index_outbox-storage-format_astp_[5,6).partial.md create mode 100644 persistence/azure-table/index_outbox-storage-format_astp_[6,7).partial.md create mode 100644 persistence/azure-table/index_outbox-storage-format_astp_[7,).partial.md diff --git a/persistence/azure-table/index.md b/persistence/azure-table/index.md index fffdf2a1e79..7046da89641 100644 --- a/persistence/azure-table/index.md +++ b/persistence/azure-table/index.md @@ -1,7 +1,7 @@ --- title: Azure Table Persistence summary: Using Azure Tables as persistence -reviewed: 2025-11-20 +reviewed: 2026-04-10 component: ASP related: - persistence/upgrades/asp-saga-deduplication @@ -57,5 +57,4 @@ Saga correlation property values are subject to the underlying Azure Storage tab ### Storage format -> [!WARNING] -> When the default partition key is not explicitly set, Outbox rows are not separated by endpoint name. As a result, multiple logical endpoints cannot share the same table since [message identities are not unique across endpoints from a processing perspective](/nservicebus/outbox/#message-identity). To avoid conflicts, either assign each endpoint to a separate table or [override the partition key](transactions.md). +partial: outbox-storage-format diff --git a/persistence/azure-table/index_outbox-storage-format_astp_[3,5).partial.md b/persistence/azure-table/index_outbox-storage-format_astp_[3,5).partial.md new file mode 100644 index 00000000000..97417f2a280 --- /dev/null +++ b/persistence/azure-table/index_outbox-storage-format_astp_[3,5).partial.md @@ -0,0 +1,2 @@ +> [!WARNING] +> When the default partition key is not explicitly set, Outbox rows are not separated by endpoint name. As a result, multiple logical endpoints cannot share the same table since [message identities are not unique across endpoints from a processing perspective](/nservicebus/outbox/#message-identity). To avoid conflicts, either assign each endpoint to a separate table or [override the partition key](transactions.md). diff --git a/persistence/azure-table/index_outbox-storage-format_astp_[5,6).partial.md b/persistence/azure-table/index_outbox-storage-format_astp_[5,6).partial.md new file mode 100644 index 00000000000..5874125ead3 --- /dev/null +++ b/persistence/azure-table/index_outbox-storage-format_astp_[5,6).partial.md @@ -0,0 +1,5 @@ +From version 5.0.4, the row key will include the endpoint name to distinguish it from other endpoints processing the same message. + +> [!WARNING] +> In versions prior to 5.0.4, when the default partition key is not explicitly set, Outbox rows are not separated by endpoint name. As a result, multiple logical endpoints cannot share the same table since [message identities are not unique across endpoints from a processing perspective](/nservicebus/outbox/#message-identity). To avoid conflicts, either assign each endpoint to a separate table or [override the partition key](transactions.md). +> \ No newline at end of file diff --git a/persistence/azure-table/index_outbox-storage-format_astp_[6,7).partial.md b/persistence/azure-table/index_outbox-storage-format_astp_[6,7).partial.md new file mode 100644 index 00000000000..4aa77a3b908 --- /dev/null +++ b/persistence/azure-table/index_outbox-storage-format_astp_[6,7).partial.md @@ -0,0 +1,5 @@ +From version 6.1.2, the row key will include the endpoint name to distinguish it from other endpoints processing the same message. + +> [!WARNING] +> In versions prior to 6.1.2, when the default partition key is not explicitly set, Outbox rows are not separated by endpoint name. As a result, multiple logical endpoints cannot share the same table since [message identities are not unique across endpoints from a processing perspective](/nservicebus/outbox/#message-identity). To avoid conflicts, either assign each endpoint to a separate table or [override the partition key](transactions.md). +> \ No newline at end of file diff --git a/persistence/azure-table/index_outbox-storage-format_astp_[7,).partial.md b/persistence/azure-table/index_outbox-storage-format_astp_[7,).partial.md new file mode 100644 index 00000000000..087b3b810d8 --- /dev/null +++ b/persistence/azure-table/index_outbox-storage-format_astp_[7,).partial.md @@ -0,0 +1,5 @@ +From version 7.0.1, the row key will include the endpoint name to distinguish it from other endpoints processing the same message. + +> [!WARNING] +> In version 7.0.0, when the default partition key is not explicitly set, Outbox rows are not separated by endpoint name. As a result, multiple logical endpoints cannot share the same table since [message identities are not unique across endpoints from a processing perspective](/nservicebus/outbox/#message-identity). To avoid conflicts, either assign each endpoint to a separate table or [override the partition key](transactions.md). +> \ No newline at end of file