OPC-UA variable browse issue

asked 2019-02-08 01:15:00 -0500

updated 2019-02-08 10:13:44 -0500

metadaddy gravatar image

We recently came across a problem with the OPC-UA implementation. Apparently the nodeId fetch mode "browsing" is not working properly. The first browsing works, but upon refreshing the variables it fails with a timeout. However the server is not the problem since it works perfectly well using UA expert as client. So the problem seems to be in the StreamSets implementation.

I have extracted a screenshot of our log file for further information:

2019-01-28 12:25:02,561 ES75 Manaria to UK/ES75ManariatoUK9a32b835-1586-44b8-b839-4cacdd6ea32f  ERROR   Browsing nodeId=NodeId{ns=2, id=a6b2016b-c2bd-4e4e-a1ab-ae8c3d948077} failed: UaException: status=Bad_Timeout, message=request timed out after 10000ms  OpcUaClientSource   *admin      ua-shared-pool-1948
java.util.concurrent.ExecutionException: UaException: status=Bad_Timeout, message=request timed out after 10000ms
    at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
    at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895)
    at com.streamsets.pipeline.stage.origin.opcua.OpcUaClientSource.browseNode(OpcUaClientSource.java:815)
    at com.streamsets.pipeline.stage.origin.opcua.OpcUaClientSource.refreshNodeIds(OpcUaClientSource.java:348)
    at com.streamsets.pipeline.stage.origin.opcua.OpcUaClientSource.pollForData(OpcUaClientSource.java:378)
    at com.streamsets.pipeline.stage.origin.opcua.OpcUaClientSource.lambda$pollForData$2(OpcUaClientSource.java:388)
    at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:656)
    at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:632)
    at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
    at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
    at org.eclipse.milo.opcua.stack.client.UaTcpStackClient.lambda$receiveResponse$16(UaTcpStackClient.java:352)
    at org.eclipse.milo.opcua.stack.core.util.ExecutionQueue$PollAndExecute.run(ExecutionQueue.java:107)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: UaException: status=Bad_Timeout, message=request timed out after 10000ms
    at org.eclipse.milo.opcua.stack.client.UaTcpStackClient.lambda$scheduleRequestTimeout$15(UaTcpStackClient.java:335)
    at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:663)
    at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:738)
    at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:466)
    ... 1 more

2019-01-28 12:25:02,727 ES75 Manaria to UK/ES75ManariatoUK9a32b835-1586-44b8-b839-4cacdd6ea32f  ERROR   Failed to process data : Index: 0, Size: 0  OpcUaClientSource   *admin      ua-shared-pool-1948
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:657)
    at java.util.ArrayList.get(ArrayList.java:433)
    at com.streamsets.pipeline.stage.origin.opcua.OpcUaClientSource.lambda$process$7(OpcUaClientSource.java:478)
    at java.util.Arrays$ArrayList.forEach(Arrays.java:3880)
    at com.streamsets.pipeline.stage.origin.opcua.OpcUaClientSource.process(OpcUaClientSource.java:472)
    at com.streamsets.pipeline.stage.origin.opcua.OpcUaClientSource.lambda$pollForData$2(OpcUaClientSource.java:382)
    at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:656)
    at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:632)
    at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
    at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)
    at org.eclipse.milo.opcua.stack.client.UaTcpStackClient.lambda$receiveResponse$16(UaTcpStackClient.java:352)
    at org ...
(more)
edit retag flag offensive close merge delete