ok. I think this is ok to merge, but I'd still like to understand the issue a bit more.
I think we have a thread issue here. We modify and read conn["rpc"]["connections"] in different threads. Ideally we shouldn't do this, but assuming that list.copy() is thread-safe, your patch should fix the traceback.
But are we processing all the connections properly when this issue occurs? Can you outline the execution workflow when update() and registerWorkerRPC() are called in parallel?
ok. I think this is ok to merge, but I'd still like to understand the issue a bit more.
I think we have a thread issue here. We modify and read conn["rpc" ]["connections" ] in different threads. Ideally we shouldn't do this, but assuming that list.copy() is thread-safe, your patch should fix the traceback.
But are we processing all the connections properly when this issue occurs? Can you outline the execution workflow when update() and registerWorkerRPC() are called in parallel?