-
-
Notifications
You must be signed in to change notification settings - Fork 719
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Await on handle_stream raises missing delete_data await warning #3920
Comments
It's interesting as |
cc @mrocklin @jrbourbeau (in case you have thoughts here 🙂) |
Thanks @jakirkham for looking at that, I actually verified that applying your suggestion things work again: diff --git a/distributed/worker.py b/distributed/worker.py
index 59cd285d..8bd45394 100644
--- a/distributed/worker.py
+++ b/distributed/worker.py
@@ -1341,7 +1341,7 @@ class Worker(ServerNode):
info = {"nbytes": {k: sizeof(v) for k, v in data.items()}, "status": "OK"}
return info
- async def delete_data(self, comm=None, keys=None, report=True):
+ def delete_data(self, comm=None, keys=None, report=True):
if keys:
for key in list(keys):
self.log.append((key, "delete"))
@@ -1355,7 +1355,7 @@ class Worker(ServerNode):
if report:
logger.debug("Reporting loss of keys to scheduler")
# TODO: this route seems to not exist?
- await self.scheduler.remove_keys(
+ self.scheduler.remove_keys(
address=self.contact_address, keys=list(keys)
)
return "OK" Possibly the second part can be removed/has to be fixed, as the comment above it suggests. There's no Happy to file a PR if this change is reasonable. |
Thanks for checking Peter! Let's see what others say 🙂 |
cc @quasiben (for vis) |
I was able to write a test where we can reproduce the issue independent of GPUs and dask-cuda, therefore I opened #3922 with the fix suggested by @jakirkham and a test for that. |
For increased visibility, I'm reposting https://github.com/dask/distributed/pull/3847/files#r443766556 as an issue here:
We have a few tests in dask-cuda that check the behavior of Device<->Host<->Disk spilling and I noticed after the 2.19 release one of them has broken, I managed to track it down to one specific line of code in
distributed/distributed/core.py
Line 573 in 44b2358
cdf2
, which is the object being spilled. It seems that this is because we're not awaiting forWorker.delete_data
somewhere, as per the warning below that doesn't happen if I commentawait gen.sleep(0)
out:I think that the only place where
Worker.delete_data
would be called and should be awaited is indistributed/distributed/scheduler.py
Lines 2791 to 2800 in 4f878b4
The text was updated successfully, but these errors were encountered: