Rerouting Existing Timeouts

RavenDB's implementation of distributed transactions contains a bug that could cause an endpoint, in certain (rare) conditions, to lose data. If RavenDB is configured to enlist in distributed transactions, read DTC not supported for RavenDB Persistence.
Using RavenDB version 4 and higher in a cluster configuration with multiple nodes is not supported. For more information, read cluster configuration with multiple nodes not supported.

After moving an endpoint from one machine to another or changing an endpoint's name, existing timeouts must be manually modified to end up in the new endpoint. To do that, follow these steps:

  • Update the following values in the Timeout Data documents in the Raven persister with the new endpoint name or updated machine name:
    • Destination
    • OwningTimeoutManager (contains endpoint name only)
    • Headers:
      • NServiceBus.ReplyToAddress
      • NServiceBus.Timeout.RouteExpiredTimeoutTo
      • NServiceBus.OriginatingEndpoint
  • After the above changes are made, restart the endpoint to process the timeout.

Related Articles

Last modified