Sql Persistence Endpoint Column Null for Subscriptions

sql-persistence

(Mick) #1

We are in the process of upgrading all of our endpoints from nsb5 to nsb6 as well as converting from Ravendb persistence to Sql persistence. I just noticed today that some of the subscriptions for the upgraded endpoints (nsb6 + sql) have the endpoint column set to Null for the endpoints that have not been upgraded. The Subscriber and MessageType columns are filled out correctly and i haven’t had time yet to see if this will cause the endpoints with the Null column to not get the events when published from these endpoints. Eventually these will all be converted over so it likely won’t be an issue but we are wanting to deploy these individually to reduce the risk of issues

Do you know if this will cause the event messages to not get sent to the endpoints that have this Null in the Endpoint sql column and/or why this happening?

Thanks,
Mick


(David Boike) #2

Hi Mick,

That’s a difference between NServiceBus 5 and 6 and is completely normal. NServiceBus 5 only had the concept of the subscriber address, and for MSMQ, if that subscriber was scaled out, it assumed that address was a distributor address. In NServiceBus 6 we have sender-side distribution instead of the distributor, so if MyEndpoint@MachineA and MyEndpoint@MachineB both subscribe independently (without a distributor managing it) it’s necessary to know the endpoint name is MyEndpoint so that sender-side distribution sends the event to only one endpoint instance and not both.


(Mick) #3

Thanks for the information on this. I realized after the fact that i would need to use the ParticularLabs RavenToSqlPersistence converter to make sure all the subscriptions/saga/timeouts were moved over to SQL. I did have to make a change to that codebase to account for the old subscription format to ensure the Clients nodes are converted over. It might be something to add in to that project