SzymonPobiega / NServiceBus.Router

Cross-transport, cross-site and possibly cross-cloud router component for NServiceBus
MIT License
5 stars 10 forks source link

Enabling Transport Migration for publisher is not handled by RMQ subscriber #43

Open rogierverkaik opened 3 years ago

rogierverkaik commented 3 years ago

We are trying to migrate a RMQ publisher to ASB, while keeping a subscriber at RMQ. According to the Readme it is possible to do that by enabling the migration mode for the publisher first. The problem is that the RMQ subscriber is not handling the events since we enabled transport migration for the publisher.

How to reproduce?

  1. The RMQ subscriber continues to run.
  2. I disabled RabbitMQTransport in the published and enabled transport migration with:
    var routing = busConfiguration.EnableTransportMigration<RabbitMQTransport, AzureServiceBusTransport>(
    rmq =>
    {
        rmq.ConnectionString(_configuration["ConnectionStringRMQ"]);
        rmq.UseConventionalRoutingTopology();
    },
    asb =>
    {
        asb.ConnectionString(_configuration["ConnectionStringASB"]);
    });
  3. Publish an event
  4. Even after restarting the subscriber, the event is not handled.

Result: the RMQ subscriber is not handling the published event.

Is this something that is expected? Or is our configuration incorrect?

SzymonPobiega commented 3 years ago

Hi @rogierverkaik

Sorry for the late response, I was on vacation last four weeks. The migration mode was mainly tested with MSMQ/SQL combo so I am not yet sure what can be the problem.

Are you going to keep the subscriber on RMQ or move everything to ASB in a endpoint-by-endpoint manner? The main purpose of the migrator was to move the whole system endpoint-by-endpoint from one transport to another in a couple of days.

If you plan to keep the subscriber on RMQ for longer then it would be better to just set up a regular router between RMQ and ASB and allow messages to flow.