Skip to content

Commit 99a2db1

Browse files
Drop comparison of versions against all clients (#6861)
1 parent d234569 commit 99a2db1

File tree

3 files changed

+17
-19
lines changed

3 files changed

+17
-19
lines changed

distributed/scheduler.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -3752,12 +3752,9 @@ async def add_worker(
37523752

37533753
version_warning = version_module.error_message(
37543754
version_module.get_versions(),
3755-
merge(
3756-
{w: ws.versions for w, ws in self.workers.items()},
3757-
{c: cs.versions for c, cs in self.clients.items() if cs.versions},
3758-
),
3755+
{w: ws.versions for w, ws in self.workers.items()},
37593756
versions,
3760-
client_name="This Worker",
3757+
source_name=str(ws.server_id),
37613758
)
37623759
msg.update(version_warning)
37633760

distributed/tests/test_versions.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ def kwargs_matching():
2828
return dict(
2929
scheduler=get_versions(),
3030
workers={f"worker-{i}": get_versions() for i in range(3)},
31-
client=get_versions(),
31+
source=get_versions(),
3232
)
3333

3434

3535
def test_versions_match(kwargs_matching):
3636
assert error_message(**kwargs_matching)["warning"] == ""
3737

3838

39-
@pytest.fixture(params=["client", "scheduler", "worker-1"])
39+
@pytest.fixture(params=["source", "scheduler", "worker-1"])
4040
def node(request):
4141
"""Node affected by version mismatch."""
4242
return request.param
@@ -76,7 +76,7 @@ def pattern(effect):
7676

7777

7878
def test_version_mismatch(node, effect, kwargs_not_matching, pattern):
79-
column_matching = {"client": 1, "scheduler": 2, "workers": 3}
79+
column_matching = {"source": 1, "scheduler": 2, "workers": 3}
8080
msg = error_message(**kwargs_not_matching)
8181
i = column_matching.get(node, 3)
8282
assert "Mismatched versions found" in msg["warning"]
@@ -95,7 +95,7 @@ def test_version_mismatch(node, effect, kwargs_not_matching, pattern):
9595
def test_scheduler_mismatched_irrelevant_package(kwargs_matching):
9696
"""An irrelevant package on the scheduler can have any version."""
9797
kwargs_matching["scheduler"]["packages"]["numpy"] = "0.0.0"
98-
assert "numpy" in kwargs_matching["client"]["packages"]
98+
assert "numpy" in kwargs_matching["source"]["packages"]
9999

100100
assert error_message(**kwargs_matching)["warning"] == ""
101101

@@ -108,7 +108,7 @@ def test_scheduler_additional_irrelevant_package(kwargs_matching):
108108

109109

110110
def test_python_mismatch(kwargs_matching):
111-
kwargs_matching["client"]["packages"]["python"] = "0.0.0"
111+
kwargs_matching["source"]["packages"]["python"] = "0.0.0"
112112
msg = error_message(**kwargs_matching)
113113
assert "Mismatched versions found" in msg["warning"]
114114
assert "python" in msg["warning"]
@@ -134,7 +134,8 @@ async def test_version_warning_in_cluster(s, a, b):
134134
assert any("0.0.0" in str(r.message) for r in record)
135135

136136
async with Worker(s.address) as w:
137-
assert any("workers" in line.message for line in w.logs)
137+
assert any(w.id in line.message for line in w.logs)
138+
assert any("Workers" in line.message for line in w.logs)
138139
assert any("dask" in line.message for line in w.logs)
139140
assert any("0.0.0" in line.message in line.message for line in w.logs)
140141

distributed/versions.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -105,15 +105,15 @@ def get_package_info(
105105
return pversions
106106

107107

108-
def error_message(scheduler, workers, client, client_name="client"):
108+
def error_message(scheduler, workers, source, source_name="Client"):
109109
from distributed.utils import asciitable
110110

111-
client = client.get("packages") if client else "UNKNOWN"
111+
source = source.get("packages") if source else "UNKNOWN"
112112
scheduler = scheduler.get("packages") if scheduler else "UNKNOWN"
113113
workers = {k: v.get("packages") if v else "UNKNOWN" for k, v in workers.items()}
114114

115115
packages = set()
116-
packages.update(client)
116+
packages.update(source)
117117
packages.update(scheduler)
118118
for worker in workers:
119119
packages.update(workers.get(worker))
@@ -128,10 +128,10 @@ def error_message(scheduler, workers, client, client_name="client"):
128128
if pkg in scheduler_relevant_packages:
129129
versions.add(scheduler_version)
130130

131-
client_version = (
132-
client.get(pkg, "MISSING") if isinstance(client, dict) else client
131+
source_version = (
132+
source.get(pkg, "MISSING") if isinstance(source, dict) else source
133133
)
134-
versions.add(client_version)
134+
versions.add(source_version)
135135

136136
worker_versions = {
137137
workers[w].get(pkg, "MISSING")
@@ -148,14 +148,14 @@ def error_message(scheduler, workers, client, client_name="client"):
148148
elif len(worker_versions) == 0:
149149
worker_versions = None
150150

151-
errs.append((pkg, client_version, scheduler_version, worker_versions))
151+
errs.append((pkg, source_version, scheduler_version, worker_versions))
152152
if pkg in notes_mismatch_package.keys():
153153
notes.append(f"- {pkg}: {notes_mismatch_package[pkg]}")
154154

155155
out = {"warning": "", "error": ""}
156156

157157
if errs:
158-
err_table = asciitable(["Package", client_name, "scheduler", "workers"], errs)
158+
err_table = asciitable(["Package", source_name, "Scheduler", "Workers"], errs)
159159
err_msg = f"Mismatched versions found\n\n{err_table}"
160160
if notes:
161161
err_msg += "\nNotes: \n{}".format("\n".join(notes))

0 commit comments

Comments
 (0)