-
Notifications
You must be signed in to change notification settings - Fork 948
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lost Monitored Item in Subscription #2541
Comments
Hi @mozerlou, From your description it sounds as if the subscriptions are recreated by the client, maybe because they are timing out. The publish request/response should always be active, the client/server need it to keep the session and subscription alive.
keep alive should be handled on the session and subscription level. KeepAliveCount = uint.MaxValue, --> calculate a count with publishInterval which produces keep alive every 5 or 10 seconds Hope this helps.. |
Unfortunately, at this moment, upgrading our SDK isn't feasible. Although our subscription remains active and notifications are being received, we're encountering a shortfall in receiving some notifications that should be reaching us. This issue occurs usually with the same monitored items. Currently we have scrapped the idea of republishing missing notification and have just restarted the subscriptions. Like I have said this issue seems similar to #2529 |
@mozerlou Could you provide the specific error occuring on DeleteSubscriptionAsync? Does it fail on the server or on the client? |
Type of issue
Current Behavior
I am currently facing an issue with my OPC UA client where, after a while, some monitored items in my subscription are not being reinstated. We stop receiving notifications for them/ and or miss the notification. This usually happens during a period of high activity on the machine.
It seems to be consistently happening to the same nodes.
Here is one specific instance when this happened:
I observed the machine logs and saw that a subscription was reinstated , adding 15 nodes back to the subscription (SubscriptionChangeMask.ItemsAdded). Everything seemed fine for the next 30 minutes, with all nodes receiving notifications correctly. However, after that, one node/monitored item missed a critical notification, which caused the entire machine to freeze.
Looking at the server itself, the Boolean node we were monitoring was set to the true value, which we had not received on our end.
More details:
-We have three subscriptions each with about 10-15 items. Some of the monitored items are linked to sensors so it can happen that they can change very quickly from true to false. Others are just bools that are used to determine whats happening.
-I have noticed the subscription.displayName can change quite frequently where for example {MySubcription} will be come -{MySubcription3} {MySubcription4} {MySubcription5} and so on.
-We do run a publish request about every hour or so to keep our subscriptions alive during periods of inactivity.
I know this problem would be a hard one to trace down. So in the meantime would you happen to have a recommendation to make sure our application work?
Should we switch to polling or would a republish such as this might work:
Expected Behavior
Receive all notifications
Steps To Reproduce
Environment
Anything else?
The text was updated successfully, but these errors were encountered: