SQL Persistence Upgrade - Support NServiceBus 5 subscribers

Component: Sql Persistence

Summary

This guidance explains how to allow processing of subscription messages sent by endpoints using NServiceBus 5 and lower, as described in the issue "Subscription store does not accept subscribe requests issued from NServiceBus 5 and below".

This issue makes it impossible for subscriber endpoints using NServiceBus Versions 5 and lower to subscribe to events published by endpoints using NServiceBus Versions 6 in combination with the SQL Persistence. Those subscription messages are eventually moved to the error queue. This causes message loss as the subscriber never receives events it subscribed for.

Compatibility

This issue has been resolved in the following patch versions of the SQL Persistence as defined in the NServiceBus support policy:

If any of the supported affected minor versions (2.1.x, 2.0.x, or 1.0.x) are used these should be updated to the latest patch release.

Upgrade steps

Steps:

  • Update to latest patch release
  • Deploy the new version

Updating database schema on Oracle Database

If using Oracle Database, update the database schema prior to running the above "Upgrade steps".

The schema created on Oracle Database does not allow NULL in the ENDPOINT column and this patch requires that it does. The following script illustrates an example DDL statement for an endpoint named Publisher.

This procedure does not require any downtime. It is advisable to execute it when affected endpoint instances are not under heavy load.
Run this script on a testing or staging environment first to verify that it works as expected.
alter table PUBLISHER_SS modify ENDPOINT varchar2(200) null;

Last modified