Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[milo-dev] eclipse milo - time de-synchronization issues between opcua server and client

Hello Milo-dev

case:
we have opcua server that periodically drifts in time and this drift maybe as big for several minutes for an hour (for instance client time maybe 12:00:00 and for opcuaserver its 12:00:30)

our client makes subscription to server and configures listener using:

UaSubscriptionManager.SubscriptionListener:
public void onPublishFailure(UaException exception){
  log.error("onPublishFailure", exception);
}
however because of time drift after several hours of work we stop to receive data updates and instead begin to receive errors like:

2020-03-23 15:31:15.207 ERROR 1 --- [milo-shared-thread-pool-2] .i.q.c.r.SubscriptionBasedNodeReaderImpl : onPublishFailure

org.eclipse.milo.opcua.stack.core.UaServiceFaultException: status=Bad_Timeout, description=The operation timed out.

at org.eclipse.milo.opcua.stack.client.UaStackClient.lambda$deliverResponse$5(UaStackClient.java:273) [stack-client-0.3.4.jar:0.3.4]

at org.eclipse.milo.opcua.stack.client.UaStackClient$$Lambda$1341/00000000600BFC40.run(Unknown Source) [stack-client-0.3.4.jar:0.3.4]

at org.eclipse.milo.opcua.stack.core.util.ExecutionQueue$Task.run(ExecutionQueue.java:119) [stack-core-0.3.4.jar:0.3.4]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_242]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_242]

at java.lang.Thread.run(Thread.java:821) [na:1.8.0_242]



right now i am considering the best way to detect case when milo client stopped to receive updates from server because of time drift issue or whatever ?

is there a good any way to distinguish these problems from some communication errors, some dedicated api ?

also am interested in max possible time difference between client and server: is this hardcoded inside of milo client or configurable or even it's determined by opcua server only ?

---
Best regard,
Mikalai

Back to the top