v8.3.3
I’m trying to read 92,907 tagpaths with system.tag.readBlocking (i’ve read tonnes more than this in earlier versions ok) from the script console through a standard tag provider, but i’m getting this exception after the default timeout period, 45s:
Java Traceback:
Traceback (most recent call last):
File "<input>", line 66, in <module>
at java.base/java.util.concurrent.CompletableFuture.timedGet(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source)
at com.inductiveautomation.ignition.client.script.ClientTagUtilities.readBlockingImpl(ClientTagUtilities.java:204)
at com.inductiveautomation.ignition.common.script.builtin.AbstractTagUtilities.readBlocking(AbstractTagUtilities.java:565)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
java.util.concurrent.TimeoutException: java.util.concurrent.TimeoutException
at org.python.core.PyException.doRaise(PyException.java:211)
at org.python.core.Py.makeException(Py.java:1654)
at org.python.core.Py.makeException(Py.java:1658)
at org.python.core.Py.makeException(Py.java:1662)
at org.python.core.Py.makeException(Py.java:1666)
at org.python.pycode._pyx43.f$0(<input>:83)
at org.python.pycode._pyx43.call_function(<input>)
at org.python.core.PyTableCode.call(PyTableCode.java:173)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.Py.runCode(Py.java:1703)
at org.python.core.Py.exec(Py.java:1747)
at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:277)
at org.python.util.InteractiveInterpreter.runcode(InteractiveInterpreter.java:130)
at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$ConsoleWorker.doInBackground(JythonConsole.java:639)
at com.inductiveautomation.ignition.designer.gui.tools.jythonconsole.JythonConsole$ConsoleWorker.doInBackground(JythonConsole.java:627)
at java.desktop/javax.swing.SwingWorker$1.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.desktop/javax.swing.SwingWorker.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Traceback (most recent call last):
File "<input>", line 66, in <module>
at java.base/java.util.concurrent.CompletableFuture.timedGet(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source)
at com.inductiveautomation.ignition.client.script.ClientTagUtilities.readBlockingImpl(ClientTagUtilities.java:204)
at com.inductiveautomation.ignition.common.script.builtin.AbstractTagUtilities.readBlocking(AbstractTagUtilities.java:565)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
java.util.concurrent.TimeoutException: java.util.concurrent.TimeoutException
I’ve increased timeout to 10mins and same thing…
I can’t even read 20,000 tagpaths within 120s without it producing that error…
There seem to be some major bugs within 8.3 relating to reading tags via script
Creating a gateway message handler that calls the tag.readBlocking function and returning the result, and calling that with system.util.sendRequest gets around the issue, but obviously more annoying to use