We have just released an update to the migration guide for
NServiceBus.RavenDB version 5 to version 6. The update includes instructions on how to migrate old timeout data to the latest document format by applying a data patch to your RavenDB.
Do I need to apply the patch?
You are affected if:
- You have endpoints that have run against RavenDB persistence version 3 or below
- While running this way the endpoints have scheduled timeouts that have not yet expired
- Those endpoints have been updated to the latest version of the RavenDB persistence
NOTE: If you are not sure whether or not your endpoints are affected, you should apply the patch. Applying the patch is a safe process and will not modify any data that is already in the new format.
Read the upgrade guide for instructions on how to apply the data patch. In addition, any timeout messages that have already failed processing may have been sent to the error queue and been picked up by ServicePulse. These messages should not be retried from ServicePulse and can be cleaned up with a singe bulk archive operation once the data patch has been applied.
The format for storing timeout data changed in
NServiceBus.RavenDB version 4 (released late 2016). That version includes code to automatically convert timeout data between formats when it is loaded from the database. This code allows endpoints to correctly process timeouts that were created before the endpoint was upgraded. Note that the documents in the database are not updated and are only converted to the new format when they are read by the timeout persister.
We recently released NServiceBus.RavenDB version 6 (mid 2019). This version removes the code that automatically converts timeout documents when they are loaded. Any timeout documents that were created by the endpoint using RavenDB persistence version 3 or below cannot be processed by the latest version of the persistence. These messages are not lost and can be recovered with a simple data conversion outlined in the upgrade guide.
If you run into any problems applying the patch, please let us know and we can help.
The team in Particular