Hello Dojo,
I noticed that if an Agent is currently failing over, the elements hosted on that agent do not get returned when I do any SLNet calls to grab those elements. I suspect that this might happen whenever the Agent is offline.
I'm wondering if there's some way of getting these elements.
The reason I'd like to know this is because if we try to set up a subscription during that time by grabbing elements using SLNet, it could mean that elements on the agent are omitted from the subscription.
Thank you for your help,
Bauti
Hi Bautista,
Could you please provide more details about where you're executing these SLNet calls from and for what purpose? For example, are they coming from an automation script? Also, could you share an example?
Thanks
Hello,
I tested these calls using the SLNet Client Tool after noticing this issue in an Ad Hoc DataSource. You can test in a DataMiner System with multiple agents and at least one agent capable of failovers and hosting at least one element. On SLNet Client Tool, send a message to get the element information using any message capable of getting Element Infos. You will notice that when an agent is failing over, the elements hosted on that agent will not be present in the response.
Hi Bautista,
In a failover pair, the elements are hosted on both the offline and online agents. Only the DMA that is currently online runs the elements, while the offline DMA does not. Because of this, when you use the SLNet Client Test Tool (CTT), you should connect to the DMA that is active, so you can retrieve information from the agent, for example about the elements.
When a switchover occurs, the DMA you were connected to becomes inactive, so it is expected that you will not receive the elements in the response anymore. As Alberto mentioned, you need to wait for the switchover to complete and then connect to the DMA that is now online.
This behavior is expected when working directly with the CTT. This is why I tried to understand more about your real use case, because normally you should use a method that retrieves the information in a transparent way, using the DMA ID and abstracting which DMA in the pair is currently active.
I hope this helps you move forward.
I believe you wouldn't have the issue within DaaS – but within the scenario of a DMA with failover license, right in the middle of a failover process, you'd need to wait until all elements are loaded on the agent gone online – would you have any way to detect this before launching the subscription?
Following this thread to hear from others too