I have an application setup to stream the same data to two ADH servers using an NI Provider. I am getting some weird failover behaviour and I'm not sure what might be going wrong.
After I have gone through this initial failure cycle. You can successfully flip between both hosts repeatedly. I don't quite know why the first failback to ADH1 fails but after that everything is working.
Also to note, I can create the same behaviour in reverse. So if I start with ADH2 as the primary node then the first failback to ADH2 fails, subsequently you can flip servers without any issues.
I have made a bit of progress with this issue after posting on the GitHub issues too. It turns out that the ServiceID set in the Directory message is defaulted by EMA to '0' on connection recovery. The subscription streams don't pick up the continuation of the publisher unless the Service ID is the same. Here's the issue:
My workaround is to always use '0' as the ServiceID. I haven't found any good documentation on the significance of the ServiceID. I seem to be able to publish to the same Item with two different NI Publishers using the same Service name and ServiceID. Do you have any links to documentation on the ServiceID?
To let us check this issue in detail, could you please give us the following information?
There is the EMA Java RDM Usage Guide document that describes about the ServiceID in chapter 5 - Source Directory Domain. You can get the document from this link.
However, if you need more detail or clarification regarding the ServiceID behavior from development, I suggest you follow up in the GitHub issue.