Closed akamaus closed 2 years ago
@akamaus
This bug exists in distributed.py: when future_set and process_queue are updated, these two values are already updated in another function. The solution is to use a public lock.
def distribute(self, client, pid, func, kwargs):
with self._queue_lock:
future = client.submit(func, **kwargs)
f = (pid, future)
self.future_set.add(f)
self.process_queue.put(pid)
This bug has been fixed in the latest version. Please try it out.
I have been experimenting with ScriptRunner and repeatingly stumbled upon errors like this one:
I believe there is some race in scheduler implementation which is triggered by my config because time to evaluate candidate sample is very small.
and here is dummy.py: