we have a dotNet application connecting to a 3 node um realm cluster and subscribes data from a durable subscriber, we are having an issue where if one realm in a cluster set is shut down for planned/unplanned maintenance the dot net applications stops subscribing from other realms all together, wondering how to make the dot net application more cluster aware of um HighAvailablity setup. we are using 10.3 nirvana dll library as shared by SAG.
is there any setting/ config that needs on introduce in my .net code to make it more cluster-friendly?
Hey,
What is the URL you are passing in to the nSession and what settings are you using on the nSessionAttributes if any?
It should be something like nsp://node1:9000,nsp://node2:9000,nsp://node3:9000 of course it could be nhp/s etc but you need to pass the list in preferably.
Regards
Joshua
The url is configured on dotnet app is of following format: nsp://ServerA:9000,nsp://ServerB:9000,nsp://ServerC:9000
Consider the case Server B is master realm and server A and server C are slave realms.
-when i shut down realm on ServerC, the dotnet application still receives data (no issue), the other two realms up and operational with ServerB (Master).
-when i shut down realm on ServerA only(Slave), the dotnet application stops retrieving data (issue), the other two realms up and operational with serverB (Master).
there is a nirvana cluster property set in dotnet code, however the challenge we are facing is how to make the dotnet app auto reconnect with the next available node and consume data.
So what should occur in the described scenario is that the client should disconnect and automatically reconnect to the next available node in the list, depending on how ServerA is shutdown could impact how long it takes to notice the disconnect for example if its stopping the Java process it should be instantaneous if its by a hard stop the TCP stack will need to timeout or UM client will detect the failure eventually.
If you are using no special settings on the nSessionAttributes it may be best to test connections to each node so, check that you can connect to node 1 2 and 3 by providing just their rnames to the nSession and ensuring they work seamlessly, once you are sure everything is working as expected perhaps provide a sample of your code and I will attempt it locally.
Otherwise please contact our support organisation so we can provide better assistance.