Skip to content
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

x-distributed version checks / diagnostic. #595

Closed
jreback opened this issue Oct 18, 2016 · 1 comment · Fixed by #596
Closed

x-distributed version checks / diagnostic. #595

jreback opened this issue Oct 18, 2016 · 1 comment · Fixed by #596

Comments

@jreback
Copy link
Contributor

jreback commented Oct 18, 2016

Having mismatched version across the cluster can be hard to detect and cause very odd error reports.

a function to give a snapshot of the versions of various required packages that are used in pieces of the system would be useful. IOW, we have scheduler, workers, and the user environment.

This would be a first step towards a validation of the environments. IOW, it is very important that we have the same versions of distributed running on the workers & the user env. For some operations it is imperative that dask match (or at least be compatible). I imagine other cloudpickle & msgpack-python should be compatible as well.

So I would envision a client.get_versions() which could return data on each worker, the user environment and the scheduler environment. (maybe a DataFrame of results).

At the very least this would be a nice diagnostic. Furthermore maybe then the scheduler could provide a warning if mismatches in versions exist.

This would be somewhat linked with #300 as full-fledged environments would also need tools to introspect the remote environments.

@mrocklin
Copy link
Member

Agreed. This could be implemented in the following steps:

  1. Collect a list of relevant packages.
  2. Make a bare function that gets the versions of all of those packages.
  3. Use something like client.run to call that function on all of the workers
  4. Call that function locally in the client process
  5. Verify that everyone agrees

jreback added a commit to jreback/distributed that referenced this issue Oct 19, 2016
jreback added a commit to jreback/distributed that referenced this issue Oct 19, 2016
mrocklin pushed a commit that referenced this issue Oct 20, 2016
…on info (#596)

* ENH: add Client.get_versions() to retrieve software and package versioning information

closes #595

* split up get_versions

* pep

* remove old doc-string
add introspection for required & optional packages

* better error catching on workers

* remove try/except
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants