- Update to version 2022.11.1
## Enhancements
* Restrict bokeh=3 support (GH#7329) Gabe Joseph (ignored in rpm
fixed by bokek 3.0.2, see gh#dask/dask#9659)
* Respect death timeout when waiting for scheduler file (GH#7296)
Florian Jetter
* Always raise exception if P2PShuffle s send fails (GH#7317)
Hendrik Makait
## Maintenance
* Remove exception handling from transitions (GH#7316) crusaderky
* Turn private functions into private SchedulerState methods
(GH#7260) Hendrik Makait
* Bump toolz minimum version to 0.10.0 (GH#7309) Sam Grayson
- Release 2022.11.0
## Note
* This release changes the default scheduling mode to use
queuing. This will significantly reduce cluster memory use in
most cases, and generally improve stability and performance.
Learn more here and please provide any feedback on this
discussion.
* In rare cases, this could make some workloads slower. See the
documentation for more information, and how to switch back to
the old mode.
## New Features
* Add ForwardOutput worker plugin to forward stdout and stderr to
client. (GH#7297) Hendrik Makait
* Duration counters on prefix level (GH#7288) Florian Jetter
* Include button for launching JupyterLab layout in repr
(GH#7218) Ian Rose
## Enhancements
* Support MIG parsing during CUDA context creation in UCX
initialization (GH#6720) Peter Andreas Entschev
* Handle /metrics endpoint without prometheus-client installed
(GH#7234) Hendrik Makait
* Add support for unpacking namedtuples in remote data (GH#7282)
Andrew
* Enable queuing by default (GH#7279) Florian Jetter
* Fix exists->``exist`` typo in scheduler error messages
(GH#7281) Matthew Plough
* If there’s an exception in the Client async context manager
body then close fast (GH#6920) Thomas Grainger
## Bug Fixes
* Ensure category is optional when logging "warn" events
(GH#7169) James Bourbeau
* Edge and impossible transitions to memory (GH#7205) crusaderky
## Maintenance
* Allow bokeh=3 (GH#5648) James Bourbeau
* Fix typos in P2P shuffle code (GH#7304) Hendrik Makait
* Reenable test_bad_disk (GH#7300) Florian Jetter
* Reduce max-runs in test reports (GH#7299) Florian Jetter
* Revert idle classification when worker-saturation is set
(GH#7278) Florian Jetter
* Fix flaky deadline_expiration (GH#7287) Florian Jetter
* Rewrite of P2P control flow (GH#7268) Florian Jetter
* Bump minimum bokeh version to 2.4.2 (GH#7271) James Bourbeau
* Remove deprecated code calls to IOLoop.make_current() (GH#7240)
Thomas Grainger
* Improved test for balancing expensive tasks (GH#7272) Hendrik
Makait
* Refactor semaphore._Watch into general-purpose Deadline utility
(GH#7238) Hendrik Makait
* Require Click 7.0+ (GH#7226) jakirkham
* Drop tests (GH#7269) Hendrik Makait
* Replace test_(do_not_)steal_communication_heavy_tasks tests
with more robust versions (GH#7243) Hendrik Makait
* xfail test_bad_disk (GH#7265) crusaderky
* Move transition_log from Scheduler to SchedulerState (GH#7254)
crusaderky
* Remove Scheduler.log (GH#7258) crusaderky
* Use latest pickle (GH#5826) jakirkham
* Polish parsing of worker-saturation from config (GH#7255)
crusaderky
* Avoid expensive occupancy calculation when unused (GH#7257)
Gabe Joseph
* Un-skip test_nested_compute (GH#7247) Gabe Joseph
* Review test_do_not_steal_communication_heavy_tasks (GH#7250)
crusaderky
* Fix test_stress_creation_and_deletion (GH#7215) crusaderky
* Raise exceptions in Server.handle_stream instead of
swallowing/logging (GH#7162) Hendrik Makait
* Fix _update_scheduler_info hanging failed tests (GH#7225) Gabe
Joseph
* Bump xarray-contrib/ci-trigger from 1.1 to 1.2 (GH#7232)
- Release 2022.10.2
* Reverted a bug where Bokeh was accidentally made non-optional
(GH#7230) Oliver Holworthy
* Schedule a queued task when a task secedes (GH#7224) Gabe
Joseph
* This was a hotfix release
- Release 2022.10.1
## New Features
* Add Client.restart_workers method (GH#7154) James Bourbeau
* Implement PackageInstall plugin for pip and conda (GH#7126)
Hendrik Makait
## Enhancements
* Add prometheus collector for work-stealing (GH#7206) Hendrik
Makait
* Track reason of workers closing and restarting (GH#7166)
Hendrik Makait
* Show no-worker on task progress bar (GH#7171) Florian Jetter
* Set OPENBLAS_NUM_THREADS by default (GH#7177) James Bourbeau
* Optionally provide local directory to data constructor
(GH#7153) Lawrence Mitchell
* Introduce distributed.comm.ucx.environment config slot
(GH#7164) Lawrence Mitchell
* Log information about memory limit (GH#7160) Florian Jetter
* Improve log messages on scheduler for restart (GH#7150) Florian
Jetter
* More comprehensive WorkerState task counters (GH#7167)
crusaderky
## Bug Fixes
* Update minimum bokeh version message (GH#7172) James Bourbeau
* Revamped implementations of remote print() and warn(), fixing
#7095 (GH#7129) Max Bane
## Maintenance
* Temporarily restrict bokeh<3 (GH#7219) James Bourbeau
* Make Scheduler.reschedule private (GH#7216) crusaderky
* Fix decide_worker_rootish_queuing_disabled assert (GH#7065)
Gabe Joseph
* Fix flaky test_include_communication_in_occupancy (GH#7212)
Gabe Joseph
* Do not raise on leaked websockets (GH#7199) Florian Jetter
* Update nightly recipes with CLI tests, dependency changes
(GH#7201) Charles Blackmon-Luca
* Make p2p shuffle submodules private (GH#7186) Florian Jetter
* Backport tornado PeriodicCallback (GH#7165) Florian Jetter
* Fix mypy failure on CI (GH#7198) Florian Jetter
* User a layer for p2p shuffle (GH#7180) Florian Jetter
* Type annotations for shuffle (GH#7185) Florian Jetter
* Do not close worker on comm error in heartbeat (GH#7163)
Hendrik Makait
* Errors when setting TCP timeouts log as error (GH#7161) Florian
Jetter
* Remove incorrect advice from pre-commit config (GH#7159)
crusaderky
* Use functionalities network for codecov uploader (GH#7148)
Florian Jetter
* Use counter metric type where appropriate, incoming_count was
reporting bytes (GH#7125) Nat Tabris
- Add allow-bokeh3.patch -- raise upper bokeh version, reverts part
of gh#dask/distributed#7329, see also gh#dask/dask#9659
- Replace support-tornado-6-2.patch with
distributed-pr7286-tornado-6-2.patch -- gh#dask/distributed#7286
OBS-URL: https://build.opensuse.org/request/show/1036962
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=124
HAS TO GO WITH THE LATEST SR FOR PYTHON-DASK!
- Update to version 2022.10.0
* Use of new dask CLI (GH#6735) Doug Davis
* Refactor occupancy (GH#7075) Hendrik Makait
* Expose managed/unmanaged/spilled memory to Prometheus (GH#7112)
crusaderky
* Round up saturation-factor (GH#7116) Gabe Joseph
* Return default on KeyError at any level in get_metadata
(GH#7109) Hendrik Makait
* Count task states per task prefix and expose to Prometheus
(GH#7088) Nat Tabris
* Add scheduler-sni option for dask workers (GH#6290) Burt
Holzman
* Improve exception catching in UCX communication (GH#7132) Peter
Andreas Entschev
* Improve robustness of PipInstall plugin (GH#7111) Hendrik
Makait
* Fix dependencies that should point to dask/dask (GH#7138) James
Bourbeau
* Hold on to z.sum() until test completes (GH#7136) Lawrence
Mitchell
* Update typing for system_monitor after python/typeshed#8829
(GH#7131) Lawrence Mitchell
* Fix two potentially flaky queuing tests (GH#7124) Gabe Joseph
* Revamp SystemMonitor (GH#7097) crusaderky
* Adjust hardware benchmarks bokeh test (GH#7096) Florian Jetter
* Multi-platform mypy checks (GH#7094) crusaderky
- update to version 2022.9.2:
* Enhancements
+ Smarter stealing with dependencies (GH#7024) Hendrik Makait
+ Enable Active Memory Manager by default (GH#7042) crusaderky
+ Allow timeout strings in distributed.wait (GH#7081) James
Bourbeau
+ Make AMM memory measure configurable (GH#7062) crusaderky
+ AMM support for actors (GH#7072) crusaderky
+ Expose message-bytes-limit in config (GH#7074) Hendrik Makait
+ Detect mismatching Python version in scheduler (GH#7018) Hendrik
Makait
+ Improve KilledWorker message users see (GH#7043) James Bourbeau
+ Support for cgroups v2 and respect soft limits (GH#7051)
Samantha Hughes
* Bug Fixes
+ Catch BaseException on UCX read error (GH#6996) Peter Andreas
Entschev
+ Fix transfer limiting in _select_keys_for_gather (GH#7071)
Hendrik Makait
+ Parse worker-saturation if a string (GH#7064) Gabe Joseph
+ Nanny(config=...) parameter overlays global dask config
(GH#7069) crusaderky
+ Ensure default clients don’t propagate to subprocesses (GH#7028)
Florian Jetter
* Documentation
+ Improve documentation of message-bytes-limit (GH#7077) Hendrik
Makait
+ Minor tweaks to Sphinx documentation (GH#7041) crusaderky
+ Improve upload_file API documentation (GH#7040) Florian Jetter
* Maintenance
+ test_serialize_numba: Workaround issue with np.empty_like in NP
1.23 (GH#7089) Graham Markall
+ Type platform constants for mypy (GH#7091) jakirkham
+ dask-worker-space (GH#7054) crusaderky
+ Remove failing test case (GH#7087) Hendrik Makait
+ test_default_client (GH#7058) crusaderky
+ Fix pre-commit fails with recent versions of mypy and pandas
(GH#7068) crusaderky
+ Add factorization utility (GH#7048) James Bourbeau
- update to version 2022.9.1:
* Enhancements
+ Add dashboard component for size of open data transfers
(GH#6982) Hendrik Makait
+ Allow very fast keys and very expensive transfers as stealing
candidates (GH#7022) Florian Jetter
* Bug Fixes
+ No longer double count transfer cost in stealing (GH#7036)
Hendrik Makait
* Maintenance
+ Make test_wait_first_completed robust (GH#7039) Florian Jetter
+ Partial annotations for SchedulerState (GH#7023) crusaderky
+ Add more type annotations to stealing.py (GH#7009) Florian
Jetter
+ Update codecov settings (GH#7015) Florian Jetter
+ Speed up test_balance (GH#7008) Florian Jetter
+ Fix test report after queuing job added (GH#7012) Gabe Joseph
+ Clean up env variables in Gihub Actions (GH#7001) crusaderky
+ Make test_steal_reschedule_reset_in_flight_occupancy non timing
dependent (GH#7010) Florian Jetter
+ Replaced distributed.utils.key_split with dask.utils.key_split
(GH#7005) Luke Conibear
+ Revert “Revert “Limit incoming data transfers by amount of data”
(GH#6994)” (:pr:`7007) Florian Jetter
+ CI job running tests with queuing on (GH#6989) Gabe Joseph
+ Fix distributed/tests/test_client_executor.py::test_wait
(GH#6990) Florian Jetter
OBS-URL: https://build.opensuse.org/request/show/1030988
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-distributed?expand=0&rev=60
- Update to 2022.8.1:
* Display unexpected state in Worker.execute validation (:pr:`6856`)
James Bourbeau
* cancelled / resumed -> rescheduled transition (:pr:`6913`) crusaderky
* Fix resource deallocation for resumed tasks (:pr:`6914`) crusaderky
* Only close scheduler in SpecCluster if it exists (:pr:`6888`)
Matthew Rocklin
* Always close BatchedSend write coroutines (:pr:`6865`) Gabe Joseph
* Harden preamble of Worker.execute against race conditions (:pr:`6878`)
crusaderky
* Duplicated code: in_flight_tasks validation (:pr:`6917`) crusaderky
* Overhaul transitions for the resumed state (:pr:`6699`) crusaderky
* Clean up cluster process reaping (:pr:`6840`) Gabe Joseph
* Don't use bokeh Figure in tests (:pr:`6721`) Bryan Van de Ven
* Work around incompatibility of crick with setuptools 65 (:pr:`6887`)
crusaderky
* Replace port = random.randint( with port = d.utils.open_port (:pr:`6883`)
Thomas Grainger
* Fix flaky test_wall_clock (:pr:`6879`) crusaderky
* Add descriptive error message to assert (:pr:`6871`) Hendrik Makait
* Increase timeout in test_quiet_process (:pr:`6857`) Florian Jetter
* Remove redundant use of with clean(): (:pr:`6852`) Thomas Grainger
* Update pre-commit dependencies (:pr:`6851`) Hendrik Makait
* Call exit callback even if AsyncProcess is reaped elsewhere (:pr:`6684`)
Thomas Grainger
* Avoid function calls in argument defaults (:pr:`6812`) Hendrik Makait
* Add Cluster.get_client() method (:pr:`6745`) Julia Signell
* Start bokeh app to activate bokeh's clean session callbacks (:pr:`6728`)
Martí Zamora
* Don't connect to cluster subprocesses at shutdown (:pr:`6829`) Gabe Joseph
OBS-URL: https://build.opensuse.org/request/show/1000573
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-distributed?expand=0&rev=58
* Display unexpected state in Worker.execute validation (:pr:`6856`)
James Bourbeau
* cancelled / resumed -> rescheduled transition (:pr:`6913`) crusaderky
* Fix resource deallocation for resumed tasks (:pr:`6914`) crusaderky
* Only close scheduler in SpecCluster if it exists (:pr:`6888`)
Matthew Rocklin
* Always close BatchedSend write coroutines (:pr:`6865`) Gabe Joseph
* Harden preamble of Worker.execute against race conditions (:pr:`6878`)
crusaderky
* Duplicated code: in_flight_tasks validation (:pr:`6917`) crusaderky
* Overhaul transitions for the resumed state (:pr:`6699`) crusaderky
* Clean up cluster process reaping (:pr:`6840`) Gabe Joseph
* Don't use bokeh Figure in tests (:pr:`6721`) Bryan Van de Ven
* Work around incompatibility of crick with setuptools 65 (:pr:`6887`)
crusaderky
* Replace port = random.randint( with port = d.utils.open_port (:pr:`6883`)
Thomas Grainger
* Fix flaky test_wall_clock (:pr:`6879`) crusaderky
* Add descriptive error message to assert (:pr:`6871`) Hendrik Makait
* Increase timeout in test_quiet_process (:pr:`6857`) Florian Jetter
* Remove redundant use of with clean(): (:pr:`6852`) Thomas Grainger
* Update pre-commit dependencies (:pr:`6851`) Hendrik Makait
* Call exit callback even if AsyncProcess is reaped elsewhere (:pr:`6684`)
Thomas Grainger
* Avoid function calls in argument defaults (:pr:`6812`) Hendrik Makait
* Add Cluster.get_client() method (:pr:`6745`) Julia Signell
* Start bokeh app to activate bokeh's clean session callbacks (:pr:`6728`)
Martí Zamora
* Don't connect to cluster subprocesses at shutdown (:pr:`6829`) Gabe Joseph
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=115
- Update to 2022.6.1
* Highlights
- This release includes the Worker State Machine refactor. The
expectation should be that the worker state is its own
synchronous subclass. Pulling all the state out into its own
class allows us to write targeted unit tests without invoking
any concurrent or asynchronous code.
* Enhancements
- Make worker state machine methods private (GH#6564)
crusaderky
- Yank state machine out of Worker class (GH#6566) crusaderky
- Track worker_state_machine.TaskState instances (GH#6525)
Hendrik Makait
- Trivial tweaks to the Worker State Machine (GH#6586)
crusaderky
- Replace loop.call_later and loop.add_callback with background
tasks added to Server. (GH#6603) Thomas Grainger
- Support for neater WorkerState tests (GH#6609) crusaderky
- Limit TCP writes with Tornado to 2GB (GH#6557) hhuuggoo
- Enable no_implicit_optional for scheduler (GH#6622) Thomas
Grainger
* Bug Fixes
- Partial revert of compute-task message format (GH#6626)
Florian Jetter
- Restore log message about received signals in CLI (GH#6618)
Florian Jetter
- Handle empty memoryviews of bytearrays when (de)serializing
(GH#6576) Benjamin Zaitlen
- Ensure steal requests from same-IP but distinct workers are
rejected (GH#6585) Florian Jetter
- Fix tls_(min|max)_ version having no effect on openssl 1.1.0g
or lower (GH#6562) Thomas Grainger
- Fix idle_timeout and unxfail test (GH#6563) Matthew Rocklin
- Fix crashing debug statement in _purge_state (GH#6589)
crusaderky
- Abort connections on CancelledError (GH#6574) Thomas Grainger
- Fix Active Memory Manager ignores nbytes thresholds (GH#6583)
crusaderky
* Deprecations
- Deprecate WorkerState accessors (GH#6579)
crusaderky
- Release 2022.6.0
* Enhancements
- Make disk access in system monitor configurable (GH#6537)
Matthew Rocklin
- Log and except errors on preload start (GH#6553) Matthew
Rocklin
- Fix Scheduler.restart logic (GH#6504) Gabe Joseph
- Don’t heartbeat while Worker is closing (GH#6543) Gabe Joseph
- No longer retry LocalCluster on errno.EADDRINUSE (GH#6369)
Thomas Grainger
- Don’t invoke log_event from state machine (GH#6512)
crusaderky
- Add config option to disable profiling and disable it in many
tests per default (GH#6490) Hendrik Makait
- Encapsulate Worker.batched_stream.send() (GH#6475) crusaderky
* Bug Fixes
- refresh-who-has can break the worker state machine (GH#6529)
crusaderky
- Restart worker if it’s unrecognized by scheduler (GH#6505)
Gabe Joseph
- Fix import error when distributed.rmm.pool-size is set
(GH#6482) KoyamaSohei
* Deprecations
- Restore signature compatibility for dask-gateway (GH#6561)
Tom Augspurger
- Deprecate the io_loop and loop kwarg to Server, Worker, and
Nanny (GH#6473) Thomas Grainger
- Deprecate the loop kwarg to Scheduler (GH#6443) Thomas
Grainger
- Release 2022.05.2
* Enhancements
- Add a lock to distributed.profile for better concurrency
control (GH#6421) Hendrik Makait
- Send SIGKILL after SIGTERM when passing 95% memory (GH#6419)
crusaderky
* Bug Fixes
- Log rather than raise exceptions in preload.teardown()
(GH#6458) Matthew Rocklin
- Handle failing plugin.close() calls during scheduler shutdown
(GH#6450) Matthew Rocklin
- Fix slicing bug in ensure_memoryview (GH#6449) jakirkham
- Generalize UCX errors on connect() and correct pytest
fixtures (GH#6434) Peter Andreas Entschev
- Run cluster widget periodic callbacks on the correct event
loop (GH#6444) Thomas Grainger
- Release 2022.05.1
* New Features
- Add HTTP API to scheduler (GH#6270) Matthew Murray
- Shuffle Service with Scheduler Logic (GH#6007) Matthew
Rocklin
* Enhancements
- Follow-up on removing report and safe from Worker.close
(GH#6423) Gabe Joseph
- Server close faster (GH#6415) Florian Jetter
- Disable HTTP API by default (GH#6420) Jacob Tomlinson
- Remove report and safe from Worker.close (GH#6363) Florian
Jetter
- Allow deserialized plugins in register_scheduler_plugin
(GH#6401) Matthew Rocklin
- WorkerState are different for different addresses (GH#6398)
Florian Jetter
- Do not filter tasks before gathering data (GH#6371)
crusaderky
- Remove worker reconnect (GH#6361) Gabe Joseph
- Add SchedulerPlugin.log_event handler (GH#6381) Matthew
Rocklin
- Ensure occupancy tracking works as expected for long running
tasks (GH#6351) Florian Jetter
- stimulus_id for all Instructions (GH#6347) crusaderky
- Refactor missing-data command (GH#6332) crusaderky
- Add idempotent to register_scheduler_plugin client (GH#6328)
Alex Ford
- Add option to specify a scheduler address for workers to use
(GH#5944) Enric Tejedor
* Bug Fixes
- Remove stray breakpoint (GH#6417) Thomas Grainger
- Fix API JSON MIME type (GH#6397) Jacob Tomlinson
- Remove wrong assert in handle compute (GH#6370) Florian
Jetter
- Ensure multiple clients can cancel their key without
interference (GH#6016) Florian Jetter
- Fix Nanny shutdown assertion (GH#6357) Gabe Joseph
- Fix fail_hard for sync functions (GH#6269) Gabe Joseph
- Prevent infinite transition loops; more aggressive
validate_state() (GH#6318) crusaderky
- Ensure cleanup of many GBs of spilled data on terminate
(GH#6280) crusaderky
- Fix WORKER_ANY_RUNNING regression (GH#6297) Florian Jetter
- Race conditions from fetch to compute while AMM requests
replica (GH#6248) Florian Jetter
- Ensure resumed tasks are not accidentally forgotten (GH#6217)
Florian Jetter
- Do not allow closing workers to be awaited again (GH#5910)
Florian Jetter
* Deprecations
- Move wait_for_signals to private module and deprecate
distributed.cli.utils (GH#6367) Hendrik Makait
- Release 2022.05.0
* Highlights
- This is a bugfix release for this issue.
* Enhancements
- Handle writeable in buffer_callback (GH#6238) jakirkham
- Use .data with NumPy array allocation (GH#6242) jakirkham
* Bug Fixes
- Close executor in event loop if interpreter is closing
(GH#6256) Matthew Rocklin
- Release 2022.04.2
* Enhancements
- Unblock event loop while waiting for ThreadpoolExecutor to
shut down (GH#6091) Florian Jetter
- RetireWorker policy is done if removed (GH#6234) Gabe Joseph
- Pause to disable dependency gathering (GH#6195) crusaderky
- Add EOFError to nanny multiprocessing.queue except list
(GH#6213) Matthew Rocklin
- Re-interpret error in lost worker scenario (GH#6193) Matthew
Rocklin
- Add Stimulus IDs to Scheduler (GH#6161) Florian Jetter
- Set a five minute TTL for Dask workers (GH#6200) Matthew
Rocklin
- Add distributed.metrics.monotonic (GH#6181) crusaderky
- Send worker validation errors to scheduler and err on test
completion (GH#6192) Matthew Rocklin
- Redesign worker exponential backoff on busy-gather (GH#6173)
crusaderky
- Log all invalid worker transitions to scheduler (GH#6134)
Matthew Rocklin
- Make Graph dashboard plot have invisible axes (GH#6149)
Matthew Rocklin
- Remove Nanny auto_restart state (GH#6138) Matthew Rocklin
* Bug Fixes
- Ensure scheduler events do not hold on to TaskState objects
(GH#6226) Florian Jetter
- Allow pausing and choke event loop while spilling (GH#6189)
crusaderky
- Do not use UUID in stealing (GH#6179) Florian Jetter
- Handle int worker names in info page (GH#6158) Brett Naul
- Fix psutil dio counters none (GH#6093) ungarj
- Join Nanny watch thread (GH#6146) Matthew Rocklin
- Improve logging when closing workers (GH#6129) Matthew
Rocklin
- Avoid stack overflow in profiling (GH#6141) Matthew Rocklin
- Clean up SSHCluster if failure to start (GH#6130) Matthew
Rocklin
* Deprecations
- Deprecate rpc synchronous context manager (GH#6171) Thomas
Grainger
- Release 2022.04.1
* New Features
- Add KillWorker Plugin (GH#6126) Matthew Rocklin
* Enhancements
- Sort worker list in info pages (GH#6135) Matthew Rocklin
- Add back Worker.transition_fetch_missing (GH#6112) Matthew
Rocklin
- Log state machine events (GH#6092) crusaderky
- Migrate ensure_executing transitions to new WorkerState event
mechanism - part 1 (GH#6003) crusaderky
- Migrate ensure_executing transitions to new WorkerState event
mechanism - part 2 (GH#6062) crusaderky
- Annotate worker transitions to error (GH#6012) crusaderky
* Bug Fixes
- Avoid transitioning from memory/released to missing in worker
(GH#6123) Matthew Rocklin
- Don’t try to reconnect client on interpreter shutdown
(GH#6120) Matthew Rocklin
- Wrap UCX init warnings in importable functions (GH#6121)
Charles Blackmon-Luca
- Cancel asyncio tasks on worker close (GH#6098) crusaderky
- Avoid port collisions when defining port ranges (GH#6054)
crusaderky
- Release 2022.04.0
* This is the first release with support for Python 3.10
* New Features
- Add Python 3.10 support (GH#5952) Thomas Grainger
- New cluster dump utilities (GH#5920) Simon Perkins
- New ClusterDump SchedulerPlugin for dumping cluster state on
close (GH#5983) Simon Perkins
- Track Event Loop intervals in dashboard plot (GH#5964)
Matthew Rocklin
- ToPickle - Unpickle on the Scheduler (GH#5728) Mads R. B.
Kristensen
* Enhancements
- Retry on transient error codes in preload (GH#5982) Matthew
Rocklin
- More idiomatic mypy configuration (GH#6022) crusaderky
- Name extensions and enable extension heartbeats (GH#5957)
Matthew Rocklin
- Better error message on misspelled executor annotation
(GH#6009) crusaderky
- Clarify that SchedulerPlugin must be subclassed (GH#6008)
crusaderky
- Remove duplication from stealing (GH#5787) Duncan McGregor
- Remove cache in iscoroutinefunction to avoid holding on to
refs (GH#5985) Florian Jetter
- Add title to individual plots (GH#5967) Matthew Rocklin
- Specify average in timeseries titles (GH#5974) Matthew
Rocklin
* Bug Fixes
- Do not catch CancelledError in CommPool (GH#6005) Florian
Jetter
* Deprecations
- Remove distributed._ipython_utils and dependents (GH#6036)
Thomas Grainger
- Remove support for PyPy (GH#6029) James Bourbeau
- Drop runtime dependency to setuptools (GH#6017) crusaderky
- Remove heartbeats from events (GH#5989) Matthew Rocklin
- Cythonization has been abandoned upstream: Back to noarch.
- Add distributed-ignore-offline.patch
- Drop distributed-pr5952-py310.patch
OBS-URL: https://build.opensuse.org/request/show/985664
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=111
- Update to 2022.02.1:
Add the ability for Client to run preload code
Optionally use NumPy to allocate buffers
Add git hash to distributed-impl version
Immediately raise exception when trying to connect to a closed cluster
Lazily get dask version information
Remove the requirements to add comm to every handler
Raise on unclosed comms in check_instances
Constrained spill
Remove redundant str() conversions
Cluster dump now excludes run_spec by default
Dump more objects with dump_cluster_state
Do not connect to any sockets on import
Avoid deadlock when two tasks are concurrently waiting for an unresolved ActorFuture
Drop Python 3.7
Remove support for UCX < 1.11.1
Document and test spill->target hysteresis cycle
Fix flaky test_remove_replicas_while_computing
Fix time based test_assert_worker_story_malformed_story parameterize
Remove xfail from test_no_unnecessary_imports_on_worker
Start building pre-releases with cythonized scheduler
Do not mark tests xfail if they don't come up in time
Use gen_cluster where possible in test_dask_worker.py
Generate junit report when pytest-timeout kills pytest
Decrease timeout-minutes for GHA jobs
Bump pre-release version to be greater than stable releases
Do not run schedule jobs on forks
Remove pillow<9 pin in CI
Show scheduled test runs in report
Add obvious exclusions with pragma statement
OBS-URL: https://build.opensuse.org/request/show/960175
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=106
- Update to version 2022.1.1
* P2P shuffle skeleton
* Fix <Task pending name='...' coro=<Client._handle_report()>
* Add distributed.client.security-loader config
* Avoid Client._handle_report cancelling itself on Client._close
* Paused workers shouldn't steal tasks
* Add option for timestamps from output of Node.get_logs
* Don't use time.time() or IOLoop.time()
* Raise plugin exceptions on Worker.start()
* Fixing docstrings
* Fix typo in Client.run docstring
* Update client.py docstrings
* Skip shuffle tests if pandas / dask.dataframe not installed
* Improve test coverage
* Test report improvements
* P2P shuffle: ignore row order in tests
* Fix flaky test_no_reconnect[--no-nanny]
* Pin coverage to 6.2
* Check for new name of timeouts artifact and be more fault
tolerant
* Revisit rebalance unit tests
* Update comment in rearrange_by_column_p2p
* Update gpuCI RAPIDS_VER to 22.04
* Fix groupby test after meta requirements got stricter in Dask
PR#8563
* Fix flaky test_close_gracefully and test_lifetime
* Fix flaky test_workspace_concurrency
* Fix flaky test_shuffle_extension.py::test_get_partition
* Fix flaky test_dump_cluster_unresponsive_remote_worker
* Dump cluster state on all test failures
* Update license format
* Fix flaky test_drop_with_paused_workers_with_running_tasks_3_4
* Do not raise an exception if the GitHub token cannot be found
(Resubmit for the noclean flag)
OBS-URL: https://build.opensuse.org/request/show/950288
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=104
- Update to version 2022.1.0
* full changelog at
https://distributed.readthedocs.io/en/latest/changelog.html
* New Features:
- Task group stacked area chart (GH#5320) Ian Rose
- Support configuring TLS min/max version (GH#5594) Jim
Crist-Harif
- Use asyncio for TCP/TLS comms (GH#5450) Jim Crist-Harif
- Enhancement release notes for 2021.12.0
* Support pytest fixures and parametrize with gen_test (GH#5532)
Fábio Rosado
* Allow idempotent scheduler plugins to be registered via the RPC
(GH#5545) Jacob Tomlinson
* AMM logging (GH#5530) crusaderky
* Raise error if asyncssh isn’t installed when using SSHCluster
(GH#5535) Fábio Rosado
* Allow None in UCX configuration schema (GH#5534) Fábio Rosado
* Add distributed.comm.ucx.create-cuda-context config (GH#5526)
Peter Andreas Entschev
- Security release note for 2021.10.0:
* This release fixed a potential security vulnerability relating
to single-machine Dask clusters. Clusters started with
dask.distributed.LocalCluster or dask.distributed.Client()
(which defaults to using LocalCluster) would mistakenly
configure their respective Dask workers to listen on external
interfaces (typically with a randomly selected high port)
rather than only on localhost. A Dask cluster created using
this method AND running on a machine that has these ports
exposed could be used by a sophisticated attacker to enable
remote code execution. Users running on machines with standard
firewalls in place should not be affected. This vulnerability
is documented in CVE-2021-42343, and is fixed in this release
(GH#5427). Thanks to Jean-Pierre van Riel for discovering and
reporting the issue.
- Skip python310: Not supported yet -- gh#dask/distributed#5350
OBS-URL: https://build.opensuse.org/request/show/948001
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=101
- Update to version 2021.9.1
* Revert AMM ReduceReplicas and parallel AMMs updates
* Run multiple AMMs in parallel
* AMM ReduceReplicas to iterate only on replicated tasks
* Add type annotations to various functions within
distributed.worker
* Mark test_ucx_config_w_env_var flaky on UCX < 1.11
* Warn if CUDA context is created on incorrect device in UCX
* Remove redundant timeouts from test_client
* Allow Client to subscribe to events // Remote printing and
warning
* Test pickle protocols 4 & 5
* Fix-up test_pickle_empty
* Increase timeout for
test_worker_reconnects_mid_compute_multiple_states_on_scheduler
* Add synced dict between cluster and scheduler to store cluster
info
* Update test_sub_submit_priority
* Revert "Add test setup fixture
* Fix flaky test_worker_reconnects_mid_compute
* Use gen_test in test_adaptive
* Increase worker.suspicious_counter threshold
* Active Memory Manager framework + discard excess replicas
* Add test setup fixture
- Release version 2021.9.0
* Fix add_plugin warnings
* Add list around iterator in handle_missing_dep
* Jupyter-client 7 compatiblity
* Replace atop with blockwise
* Add pytest color to CI
* Fix test_map and others
* Use name argument with Scheduler.remove_plugin calls
* Downgrade to jupyter_client 6
* Migrate Security HTML repr to Jinja2
* Migrate ProcessInterface HTML repr to Jinja2
* Add support for diskless machines to system monitor
* Avoid during-iteration scheduler plugin changes
* Remove GroupProgress scheduler plugin
* Properly check for ipv6 availability
* Improved IPv6 dask-worker support
* Overwrite worker plugins
* Refactor scheduler plugins; store in a dictionary
* Fix "then" -> "than" typo in docs
* Fix typo (remove extra verb "creates") in docs
* Fix "fractiom" -> "fraction" typo in docstring
* Fix "schedulers" -> "scheduler" typo in docs
* Use non-histogram plots up to 100 workers
- Release 2021.08.1
* Rename plots to fit in the labextension
* Log messages for CommClosedError now includes information
about remote address
* Add target='_blank' for redirects of dashboard link
* Update computation code retrieval logic
* Minor polish on cfexecutor
* Use development version of dask in gpuCI build
* Use upstream dask.widgets
* Fix flaky test_worker_reconnects_mid_compute
* Update WorkerPlugin docstring about usage of TaskState objects
* Worker Network Timeseries
* Add HTML Repr for ProcessInterface class and all its subclasses
* Fix an issue where a reconnecting worker could cause an
invalid transition
* Minor fixes for cfexecutor
* Add HTML Repr for Security class
* Fix performance report sizing issue
* Drop RMM compatibility code from RAPIDS < 0.11
- Release 2021.08.0
* Include addresses in closed comm repr
* Test nanny.environ precedence
* Migrating HTML reprs to jinja2
* Fix test_process_executor_kills_process flakyness
* Remove urllib3 as a dependency downloading preloads
* Download preload urls in the Preload constructor
* Avoid recursion error in profile.merge
* Add text exceptions to the Scheduler
* Use kwarg for Theme filename
* Add a .git-ignore-revs file
* Replace not not with bool()
* Resolve deadlock cause by transition error after fetching
dependency
* Set z-index of data-table lower
* Add no-worker - memory transition to scheduler
* Deprecate worker plugin overwrite policy
* Fix flaky tests in CI
* Instructions for jemalloc with brew on macOS
* Bump RAPIDS_VER to 21.10
* Tweak verbiage around async functions
* Use Python 3 super() calls
* Support asynchronous tasks
* Rename total comm bytes and provide doc string
* Add GPU executor if GPU is present
* Fix RMM and UCX tests
* Remove excessive timeout of
test_steal_during_task_deserialization
* Add gpuCI build script
* Demote Worker.ensure_computing to function
OBS-URL: https://build.opensuse.org/request/show/921004
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=100
- Update to version 2021.7.2
* Fix a deadlock connected to task stealing and task
deserialization
* Include maximum shard size in second to_frames method
* Minor dashboard style updates
* Cap maximum shard size at the size of an integer
* Document automatic MALLOC_TRIM_THRESHOLD_ environment variable
* Mark ucx-py tests for GPU
* Update individual profile plot sizing
* Handle NVMLError_Unknown in NVML diagnostics
* Unit tests to use a random port for the dashboard
* Ensure worker reconnect registers existing tasks properly
* Halve CI runtime!
* Add NannyPlugins
* Add WorkerNetworkBandwidth chart to dashboard
* Set nanny environment variables in config
* Read smaller frames to workaround OpenSSL bug
* Move UCX/RMM config variables to Distributed namespace
* Allow ws(s) messages greater than 10Mb
* Short-circuit root-ish check for many deps
-Release 2021.07.1
* Remove experimental feature warning from actors docs
* Keep dependents in worker dependency if TS is still known
* Add Scheduler.set_restrictions
* Make Actor futures awaitable and work with as_completed
* Simplify test_secede_balances
* Computation class
* Some light dashboard cleanup
* Don't package tests
* Add pytest marker for GPU tests
* Actor: don't hold key references on workers
* Collapse nav to hamburger sooner
* Verify that actors survive pickling
* Reenable UCX-Py tests that used to segfault
* Better support ProcessPoolExecutors
* Simplify test_worker_heartbeat_after_cancel
* Avoid property validation in Bokeh
* Reduce default websocket frame size and make configurable
* Disable pytest-timeout SIGALARM on MacOS
* rebalance() resilience to computations
* Improve CI stability
* Ensure heartbeats after cancelation do not raise KeyError s
* Add more useful exception message on TLS cert mismatch
* Add bokeh mode parameter to performance reports
- Use the GitHub tarball because the PyPI sdist does to provide the
tests anymore
* Remove extra conftest.py source
- Drop distributed-pr5022-improve_ci.patch merged upstream
OBS-URL: https://build.opensuse.org/request/show/910741
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=99
- Update to version 2021.7.0
* Fix Nbytes jitter - less expensive
* Use native GH actions cancel feature
* Don't require workers to report to scheduler if scheduler
shuts down
* Add pandas to the list of checked packages for client.
get_versions()
* Move worker preload before scheduler address is set
* Fix flaky test_oversubscribing_leases
* Update scheduling policy docs for #4967
* Add echo handler to Server class
* Also include pngs when bundling package
* Remove duplicated dashboard panes
* Fix worker memory dashboard flickering
* Tabs on bottom left corner on dashboard
* Rename nbytes widgets
* Co-assign root-ish tasks
* OSError tweaks
* Update imports to cudf.testing._utils
* Ensure shuffle split default durations uses proper prefix
* Follow up pyupgrade formatting
* Rename plot dropdown
* Pyupgrade
* Misc Sphinx tweaks
* No longer hold dependencies of erred tasks in memory
* Add maximum shard size to config
* Ensure shuffle split operations are blacklisted from work
stealing
* Add dropdown menu to access individual plots
* Edited the path to scheduler.py
* Task Group Graph Visualization
* Remove more internal references to deprecated utilities
* Restructure nbytes hover
* Except more errors in pynvml.nvmlInit()
* Add occupancy as individual plot
* Deprecate utilities which have moved to dask
* Ensure connectionpool does not leave comms if closed mid
connect
* Add support for registering scheduler plugins from Client
* Stealing dashboard fixes
* Allow requirements verification to be ignored when loading
backends from entrypoints
* Add Log and Logs to API docs
* Support fixtures and pytest.mark.parametrize with gen_cluster
- Release 2021.06.2
* Revert refactor to utils.Log[s] and Cluster.get_logs
* Use deprecation utility from Dask
* Add transition counter to Scheduler
* Remove nbytes_in_memory
- Release 2021.06.1
* Fix deadlock in handle_missing_dep if additional replicas are
available
* Add configuration to enable/disable NVML diagnostics
* Add scheduler log tab to performance reports
* Add HTML repr to scheduler_info and incorporate into client
and cluster reprs
* Fix error state typo
* Allow actor exceptions to propagate
* Remove importing apply from dask.compatibility
* Use more informative default name for WorkerPlugin s
* Removed unused utility functions
* Locally rerun successfully completed futures
* Forget erred tasks and fix deadlocks on worker
* Handle HTTPClientError in websocket connector
* Update dask_cuda usage in SSHCluster docstring
* Remove tests for process_time and thread_time
* Flake8 config cleanup
* Don't strip scheduler protocol when determining host
* Add more documentation on memory management
* Add range_query tests to NVML test suite
* No longer cancel result future in async process when using
timeouts
- Release 2021.06.0
* Multiple worker executors
* Ensure PyNVML works correctly when installed with no GPUs
* Show more in test summary
* Move SystemMonitor s GPU initialization back to constructor
* Mark test_server_comms_mark_active_handlers with pytest.mark.asyncio
* Who has has what html reprs v2
* O(1) rebalance
* Ensure repr and eq for cluster always works
- Release 2021.05.1
* Drop usage of WhoHas & WhatHas from Client
* Ensure adaptive scaling is properly awaited and closed
* Fix WhoHas/ HasWhat async usage
* Add HTML reprs for Client.who_has and Client.has_what
* Prevent accidentally starting multiple Worker s in the same
process
* Add system tab to performance reports
* Let servers close faster if there are no active handlers
* Fix UCX scrub config logging
* Ensure worker clients are closed
* Fix warning for attribute error when deleting a client
* Ensure exceptions are raised if workers are incorrectly started
* Update handling of UCX exceptions on endpoint closing
* Ensure busy workloads properly look up who_has
* Check distributed.scheduler.pickle in Scheduler.run_function
* Add performance_report to API docs
* Use dict _workers_dv in unordered use cases
* Bump pre-commit hook versions
* Do not mindlessly spawn workers when no memory limit is set
* test_memory to use gen_cluster
* Increase timeout of gen_test to 30s
- Work on the very flaky testsuite:
* Add missing conftest.py not packaged on PyPI
* Add distributed-pr5022-improve_ci.patch in the hope for better
stability -- gh#dask/distributed#5022
* Do not use pytest-xdist
- Add Cython as runtime dep because the scheduler checks the
presence
OBS-URL: https://build.opensuse.org/request/show/907354
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=98
- update to version 2021.5.0
* Merge global annotations on the client (GH#4691) Mads R. B.
Kristensen
* Add support for click 8 (GH#4810) James Bourbeau
* Add HTML reprs to some scheduler classes (GH#4795) James
Bourbeau
* Use JupyterLab theme variables (GH#4796) Ian Rose
* Allow the dashboard to run on multiple ports (GH#4786) Jacob
Tomlinson
* Remove release_dep from WorkerPlugin API (GH#4791) James
Bourbeau
* Support for UCX 1.10+ (GH#4787) Peter Andreas Entschev
* Reduce complexity of test_gather_allow_worker_reconnect
(GH#4739) Florian Jetter
* Fix doctests in utils.py (GH#4785) Jacob Tomlinson
* Ensure deps are actually logged in worker (GH#4753) Florian
Jetter
* Add stacklevel keyword into performance_report() to allow for
selecting calling code to be displayed (GH#4777) Nathan
Danielsen
* Unregister worker plugin (GH#4748) Naty Clementi
* Fixes some pickling issues in the Cythonized Scheduler
(GH#4768) jakirkham
* Improve graceful shutdown if nanny is involved (GH#4725)
Florian Jetter
* Update cythonization in CI (GH#4764) James Bourbeau
* Use contextlib.nullcontext (GH#4763) James Bourbeau
* Cython fixes for MemoryState (GH#4761) jakirkham
* Fix errors in check_thread_leak (GH#4747) James Bourbeau
* Handle missing key case in report_on_key (GH#4755) jakirkham
* Drop temporary set variables s (GH#4758) jakirkham
- skip even more flaky tests
- stress that upstream wants to use dask with a matching version
number
OBS-URL: https://build.opensuse.org/request/show/894365
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=96
- Update to 2021.3.1
* Add standalone dashboard page for GPU usage (GH#4556) Jacob
Tomlinson
* Handle stream is None case in TCP comm finalizer (GH#4631)
James Bourbeau
* Include LIST_PICKLE in NumPy array serialization (GH#4632)
James Bourbeau
* Rename annotation plugin in test_highlevelgraph.py (GH#4618)
James Bourbeau
* UCX use nbytes instead of len (GH#4621) Mads R. B. Kristensen
* Skip NumPy and pandas tests if not importable (GH#4563) Ben
Greiner
* Remove utils.shutting_down in favor of sys.is_finalizing
(GH#4624) James Bourbeau
* Handle async clients when closing (GH#4623) Matthew Rocklin
* Drop log from remove_key_from_stealable (GH#4609) jakirkham
* Introduce events log length config option (GH#4615) Fabian
Gebhart
* Upstream config serialization and inheritance (GH#4372) Jacob
Tomlinson
* Add check to scheduler creation in SpecCluster (GH#4605) Jacob
Tomlinson
* Make length of events deque configurable (GH#4604) Fabian
Gebhart
* Add explicit fetch state to worker TaskState (GH#4470) Gil
Forsyth
* Update develop.rst (GH#4603) Florian Jetter
* pickle_loads(): Handle empty memoryview (GH#4595) Mads R. B.
Kristensen
* Switch documentation builds for PRs to readthedocs (GH#4599)
James Bourbeau
* Track frame sizes along with frames (GH#4593) jakirkham
* Add support for a list of keys when using batch_size in client.
map (GH#4592) Sultan Orazbayev
* If SpecCluster fails to start attempt to gracefully close out
again (GH#4590) Jacob Tomlinson
* Multi-lock extension (GH#4503) Mads R. B. Kristensen
* Update PipInstall plugin command (GH#4584) James Bourbeau
* IPython magics: remove deprecated ioloop workarounds (GH#4530)
Min RK
* Add GitHub actions workflow to cancel duplicate builds
(GH#4581) James Bourbeau
* Remove outdated macOS build badge from README (GH#4576) James
Bourbeau
* Dask master -> main (GH#4569) Julia Signell
* Drop support for Python 3.6 (GH#4390) James Bourbeau
* Add docstring for dashboard_link property (GH#4572) Doug Davis
* Change default branch from master to main (GH#4495) Julia
Signell
* Msgpack handles extract serialize (GH#4531) Mads R. B.
Kristensen
- Drop importorskip-numpy-tests.patch merged upstream
- Skip python36 build. Upstream dropped support for Python < 3.7
OBS-URL: https://build.opensuse.org/request/show/882449
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=92
- Update to 2021.3.0
* This is the first release with support for Python 3.9 and the
last release with support for Python 3.6
* tcp.write(): cast memoryview to byte itemsize (#4555)
Mads R. B. Kristensen
* Refcount the thread_state.asynchronous flag (#4557) Mads
R. B. Kristensen
* Python 3.9 (#4460) crusaderky
* Better bokeh defaults for dashboard (#4554) Benjamin
Zaitlen
* Expose system monitor dashboard as individual plot for lab
extension (#4540) Jacob Tomlinson
* Pass on original temp dir from nanny to worker (#4549)
Martin Durant
* Serialize and split (#4541) Mads R. B. Kristensen
* Use the new HLG pack/unpack API in Dask (#4489) Mads R.
B. Kristensen
* Handle annotations for culled tasks (#4544) Tom
Augspurger
* Make sphinx autosummary and autoclass consistent (#4367)
Casey Clements
* Move _transition* to SchedulerState (#4545) jakirkham
* Migrate from travis to GitHub actions (#4504) crusaderky
* Move new_task to SchedulerState (#4527) jakirkham
* Batch more Scheduler sends (#4526) jakirkham
* transition_memory_released and get_nbytes() optimizations
(#4516) jakirkham
* Pin black pre-commit (#4533) James Bourbeau
* Read & write all frames in one pass (#4506) jakirkham
* Skip stream.write call for empty frames (#4507) jakirkham
* Prepend frame metadata header (#4505) jakirkham
* transition_processing_memory optimizations, etc. (#4487)
jakirkham
* Attempt to get client from worker in Queue and Variable
(#4490) James Bourbeau
* Use main branch for zict (#4499) jakirkham
* Use a callback to close TCP Comms, rather than check every
time (#4453) Matthew Rocklin
OBS-URL: https://build.opensuse.org/request/show/877788
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-distributed?expand=0&rev=90