What is the reconnection mechanism of opcua? #855
Replies: 7 comments 10 replies
-
An overview of the reconnect sequence is described in Part 4, Section 6.7. Milo's implementation is mostly handled in SessionFsm/SessionFsmFactory and another FSM that manages the underlying TCP connection. You can troubleshoot these by turning loggers I am not aware of any issues with reconnection failing within Milo (though I have seen some servers that have issues with parts of the reconnect sequence like subscription transfers causing the connection to close). The few times there has been an issue on the client side it was somebody who was doing a blocking action that required the session inside one of the callbacks or something like that. |
Beta Was this translation helpful? Give feedback.
-
@kevinherron Is there any way to make the reconnection time shorter? We found about the 'RetrialDelay' and 'ReconnectionPeriod' properties, but I don't think they exist in milo. |
Beta Was this translation helpful? Give feedback.
-
Hello @kevinherron,
|
Beta Was this translation helpful? Give feedback.
-
Hi @kevinherron, |
Beta Was this translation helpful? Give feedback.
-
@kevinherron thanks once again for your quick reply! This scenario is very hard to reproduce and it happens rarely and also not on our setups. So I need a little bit more info: |
Beta Was this translation helpful? Give feedback.
-
@kevinherron Thanks once again for the immediate support! I tried to upgrade milo to the latest version from 0.5.4 and there is no backward compatibility to 0.5.4. The question is whether, in your opinion, there is some big risk in the next workaround: initiate OPCUA reconnection (disconnect from the OPCUA server and connect to it once again) if the last keep alive was received before a given amount of time. What are the trade offs using this solution and not upgrade the milo? Besides this bug introduced in some of the setups of our clients the OPCUA client is quite stable and we don't see any issues. |
Beta Was this translation helpful? Give feedback.
-
@kevinherron hello once again, We have a question regarding the OPCUA server bug and its solution using milo discussed previously:
Thanks! |
Beta Was this translation helpful? Give feedback.
-
Use the subscription mode, after the opcua service is disconnected, reconnect
@OverRide
public void onSubscriptionTransferFailed(UaSubscription subscription, StatusCode statusCode)
Clear the subscriber, re-subscribe, this is no problem
However, after the opcua service is disconnected for a long time (one day), it will not reconnect. What is the reconnection mechanism of opcua?
Beta Was this translation helpful? Give feedback.
All reactions