python-opcua icon indicating copy to clipboard operation
python-opcua copied to clipboard

Add batching functionality to delete_nodes to prevent timeouts

Open Nebukadneza opened this issue 5 years ago • 2 comments

When delete_nodes is given a large amount of nodes, or is instructed to recursively delete a big structure, the connection between client and server can time out.

To remedy this, allow the user to supply a batch parameter, which controls how many nodes are deleted in one request.

closes #1148

Nebukadneza avatar Oct 19 '20 16:10 Nebukadneza

why does that help? the client must anyway wait for all chunks to be processed isnt'it?

oroulet avatar Nov 18 '20 18:11 oroulet

Indeed, in the end the client must wait until everything is processed on serverside. However, when deleting large structures, using python-opcua as client and as server, the delete operation will time out, because the server takes to long to process the single request. Allowing to batch these into managable chunks will at least keep the network-side working, and the requests themselves won’t time-out.

Nebukadneza avatar Nov 23 '20 10:11 Nebukadneza