-
-
Notifications
You must be signed in to change notification settings - Fork 717
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
Cluster dump utilities #5920
Cluster dump utilities #5920
Conversation
Are you using much code from #5863, or just the |
Unit Test Results 12 files ± 0 12 suites ±0 7h 45m 57s ⏱️ + 25m 21s For more details on these failures, see this check. Results for commit 9f81cfc. ± Comparison against base commit 4866615. ♻️ This comment has been updated with latest results. |
I'm just using |
I just merged #5863. Could you rebase/merge? This would make a review much easier. |
6a7fe93
to
62c8810
Compare
…scribing the comm error
I've done some manual testing with the dataset from #5675 as the default added tests are not very representative of real world cluster deadlocks. |
A method that would likely be helpful is to split an existing dump artifact up into multiple files in case we need to look into the raw data. I've been using the below snippet to do this in the past. @sjperkins would you mind adding something like this? I see you are having a bunch of merge conflicts. This is due to us changing imports to absolute. They should be easy enough to fix, see #5924 logs = load_cluster_dump()
top_level = "workers"
workers = logs[top_level]
for ix, (worker, info) in enumerate(workers.items()):
print(f"Processing worker {worker} {ix+1}/{len(workers)}")
try:
for name, _logs in info.items():
directory = os.path.join(main_dir, top_level, worker)
if not os.path.exists(directory):
os.makedirs(directory)
with open(os.path.join(directory, f"{name}.yaml"), "w") as fd:
dump(_logs, fd, Dumper=Dumper)
except:
pass
import json
top_level = "scheduler"
info = logs[top_level]
for name, logs in info.items():
directory = os.path.join(main_dir, top_level)
if not os.path.exists(directory):
os.makedirs(directory)
with open(os.path.join(directory, f"{name}.yaml"), "w") as fd:
dump(logs, fd, Dumper=Dumper) |
Yes, I'll add it to the
I've resolved these locally. |
@fjetter or @crusaderky this just needs a merge. Also @sjperkins maybe you should merge main, see if it helps CI at all? |
Test failures appear to be unrelated, thank you @sjperkins ! |
First Coiled commit. Woop woop! |
pre-commit run --all-files
Based on #5863 by @gjoseph92 which this PR will track further.