NServiceBus.Storage.MongoDB 6.0.0 – Major release available

Hi everyone,

We’ve just released NServiceBus.Storage.MongoDB 6.0.0.

Improvements/Features

  • #799 Separate outbox records by endpoint name to enable properly sharing the same collection between endpoints
  • #798 Outbox storage operations pass through the body without copying
  • #796 Add Diagnostics sections for outbox, sagas and subscriptions
  • #795 Refactor internal access to database settings
  • #794 Introduce provider to support overriding the mongo client using dependency injection
  • #793 Bump the minimum required MongoDB.Driver to 3.4.3
  • #791 Installer support to opt into index creation
  • #55 Support disabling index creation

Fixed bugs

  • #767 Endpoints subscribed to the same event will experience message loss if sharing the same database

How to know if you are affected

You are affected by #767 if multiple logical endpoints share the same MongoDB database and subscribe to the same event types.

Symptoms

This issue occurs when multiple logical endpoints subscribe to the same event types while sharing a MongoDB database for persistence. As outbox records are not separated by a logical endpoint and since message identities are not unique from a processing perspective, the deduplication mechanism treats messages consumed by different endpoints as duplicates. As a result, only the first endpoint processes the event, while subsequent endpoints incorrectly drop it.

When to upgrade

You should upgrade during your next maintenance window since addressing the bug requires a backward compatible change on how outbox records are stored. More details can be found in the upgrade guide.

Where to get it

You can install NServiceBus.Storage.MongoDB 6.0.0 from NuGet.

Please read our release policy for more details.

With thanks,
The team in Particular