NServiceBus.Transport.AzureServiceBus 3.2.1 and 2.0.6 – Patch releases available

Hi everyone,

We’ve just released NServiceBus.Transport.AzureServiceBus 3.2.1 and 2.0.6.

Fixed bugs

  • #817 SendsAtomicWithReceive and recoverability are not working with a large number of outgoing messages

How to know if you are affected

You are affected if you have any endpoints that fulfill all of the following:

  • The endpoint is using NServiceBus.Transport.AzureServiceBus version 2.x or later.
  • The endpoint is using the SendsAtomicWithReceive transaction mode option, which is the default behavior unless you’re using the Outbox.
  • The endpoint contains a message handler that can attempt to send more than 100 messages.

Symptoms

In V2 of the transport, we have observed ghost messages when a message handler attempts to send more than 100 messages in an endpoint running in transaction mode SendsAtomicWithReceive.
Azure Service Bus uses the concept of transfers to enable its transactional capability. In both V2 and V3, when attempting to move the incoming message to the error queue, following the quota-exceeded exception, we have sometimes observed the incoming message getting stuck in transfer for some time, after which it’s sometimes successfully delivered to the error queue, but sometimes completely lost.

Azure Service Bus imposes a limitation of 100 messages within a single transaction. It is therefore expected that attempting this will fail, and the original message will be retried (assuming you have retries enabled) and ultimately end up in the error queue. In such a scenario, no outgoing messages should arrive at the destination as the original transaction is never committed.

When to upgrade

You should upgrade immediately if your endpoints use the impacted transport versions and configuration options.

Where to get it

With thanks,
The team in Particular

Please read our release policy for more details.

I am using 3.2.1 and still i am getting same issue .
Do i need to upgrade any other package

@lalwanikamal

No other packages are required. Confirm your deployment does not have an older version of the DLL.

Otherwise, please submit a support request so we can help you troubleshoot better.

  • Bob