Changelog
Contents
Changelog¶
Note
Changelog entries for Distributed are now included in the Dask changelog.
2023.9.3¶
Released on September 29, 2023
Highlights¶
Reduce memory consumption during merge and shuffle graph optimizations¶
Previously there would be a large memory spike when optimizing task graphs for shuffling and merge operations (see GH#8196 for an example). This release removes that memory spike.
See GH#8197 from Patrick Hoefler for more details.
Quiet JupyterLab shutdown¶
Previously when running Jupyter on a scheduler (e.g. --jupyter
CLI flag),
an error would be raised when the notebook server was shutdown from the
web application. This release ensures an error isn’t raised and the shutdown
process is clean.
See GH#8220 from Thomas Grainger for details.
Additional changes
Decompress pickled messages (GH#8216) Mads R. B. Kristensen
Fix regression in
pytest-xdist
(GH#8221) crusaderkyHide pytest from code snippets (GH#8198) crusaderky
Python 3.9-style multi-line with statements (GH#8211) crusaderky
Bump
actions/checkout
from 4.0.0 to 4.1.0 (GH#8209)Update gpuCI
RAPIDS_VER
to23.12
(GH#8206)Do not reset CUDA context after UCX tests (GH#8201) Peter Andreas Entschev
Centralize and type
no_default
(GH#8171) crusaderkyOff-by-one in the retries count in
KilledWorker
(GH#8203) crusaderkyRemove deprecated aliases in
distributed.utils
(GH#8193) crusaderkyRemove unspecified
n_workers
deprecation inwait_for_workers
(GH#8192) crusaderkyReview log-length configuration (GH#8173) crusaderky
2023.9.2¶
Released on September 15, 2023
Highlights¶
Reduce memory footprint of P2P shuffling¶
Significantly reduced the peak and average memory used by P2P shuffling
(up to a factor of 2x reduction). This change also increases the P2P
minimum supported verions of pyarrow
to pyarrow=12
.
See GH#8157 from Hendrik Makait for details.
Improved plugin API¶
Two plugin changes have been introduced to provide a more consistent and convienent plugin UX:
Plugins must now inherit from
WorkerPlugin
,SchedulerPlugin
, orNannyPlugin
base classes. Old-style plugins that don’t inherit from a base class will still work, but with a deprecation warning.A new
Client.register_plugin()
method has been introduced in favor of the previousClient.register_worker_plugin()
andClient.register_scheduler_plugin()
methods. All plugins should now be registered using the centralizedClient.register_plugin()
method.
from dask.distributed import WorkerPlugin, SchedulerPlugin
class MySchedulerPlugin(SchedulerPlugin): # Inherits from SchedulerPlugin
def start(self, scheduler):
print("Hello from the scheduler!")
class MyWorkerPlugin(WorkerPlugin): # Inherits from WorkerPlugin
def setup(self, worker):
print(f"Hello from Worker {worker}!")
client.register_plugin(MySchedulerPlugin()) # Single method to register both types of plugins
client.register_plugin(MyWorkerPlugin())
See GH#8169 and GH#8150 from Hendrik Makait for details.
Emit deprecation warnings for configuration option renames¶
When a Dask configuration option that has been renamed is used, users will now get a deprecation warning pointing them to the new name.
See GH#8179 from crusaderky for details.
Additional changes
Skip
rechunker
in code samples (GH#8178) Matthew RocklinEnsure an error during
ShuffleRun.close
cannot block worker shutdown (GH#8184) Florian JetterFix race condition between
MemorySampler
and scheduler shutdown (GH#8172) crusaderkyFix post-stringification info pages (GH#8161) Florian Jetter
Fix validation in unpack phase of P2P shuffle (GH#8160) Hendrik Makait
Use
config_for_cluster_tests
in sync fixture (GH#8180) crusaderkySimplify boilerplate for P2P shuffles (GH#8174) Hendrik Makait
2023.9.1¶
Released on September 6, 2023
Enhancements¶
Raise in P2P if
column
dtype
is wrong (GH#8167) Hendrik MakaitAuto-fail tasks with deps larger than the worker memory (GH#8135) crusaderky
Make workers table sortable (GH#8153) Jacob Tomlinson
Support for unsetting environment variables (GH#8144) crusaderky
Deprecations¶
Deprecate asynchronous
Listener.stop()
(GH#8151) Hendrik Makait
Maintenance¶
Initial tweaks after Dask key type changes (GH#8162) crusaderky
Bump
actions/checkout
from 3.6.0 to 4.0.0 (GH#8159)Fix flaky
test_worker_metrics
(GH#8154) crusaderky
2023.9.0¶
Released on September 1, 2023
Enhancements¶
Don’t capture
functools
frames in code (GH#8146) crusaderkyIgnore
asyncio
when scraping code (GH#8122) Matthew RocklinRemove stringification (GH#8083) Florian Jetter
Bug Fixes¶
Ensure
NannyPlugin
are always installed (GH#8107) Florian JetterDon’t use exception hooks to shorten tracebacks (GH#8127) crusaderky
Fix P2P shuffle with
LocalCluster(..., processes=False)
(GH#8125) Hendrik MakaitMerge with P2P shuffle fails if
left_index
orright_index
isTrue
(GH#8121) Patrick Hoefler
Documentation¶
Do not advertise
@span
decorator (GH#8120) crusaderky
Maintenance¶
Assert DF equality in P2P tests (GH#8117) Hendrik Makait
Fix warnings from
pandas=2.1.0
(GH#8145) Patrick HoeflerEnforce
dtypes
early in P2P shuffling (GH#8131) Hendrik MakaitBump
actions/checkout
from 3.5.3 to 3.6.0 (GH#8139)Fix flakiness in
test_spans
(GH#8132) crusaderkyRemove duplicated teardown logic in
Server.close
,Nanny.close
, andServer.stop
(GH#8129) David GoldFix flaky
test_task_counter
(GH#8134) crusaderkyUse
asyncio.timeout()
inConnectionPool
where available (GH#8109) Thomas Grainger
2023.8.1¶
Released on August 18, 2023
New Features¶
Add
memray
integration (GH#8044) Florian Jetter
Enhancements¶
Await
async
listener.stop
inWorker.close
(GH#8118) Hendrik MakaitMinor fixes in
memray
(GH#8113) Florian JetterEnable basic
p2p
shuffle fordask-cudf
(GH#7743) Richard (Rick) ZamoraDon’t shut down unresponsive workers on
gather()
(GH#8101) crusaderkyPropagate
CancelledError
ingather_from_workers
(GH#8089) crusaderkyBetter logging for anomalous task termination (GH#8082) crusaderky
Bug Fixes¶
Handle null partitions in P2P shuffling (GH#8116) Hendrik Makait
Handle
CancelledError
properly inConnectionPool
(GH#8110) Florian JetterFix additional race condition that can cause P2P restart to deadlock (GH#8094) Hendrik Makait
Ensure x-axis is uniform when plotting (GH#8093) Florian Jetter
Fix deadlock in P2P restarts (GH#8091) Hendrik Makait
Documentation¶
Add
memray
integration to API docs (GH#8115) James BourbeauFix default in description of
LocalCluster
sscheduler_port
(GH#8073) Danferno
Maintenance¶
Remove
types_mapper
arg now that it is captured infrom_pyarrow_table_dispatch
(GH#8114) Richard (Rick) ZamoraMake P2P shuffle extensible (GH#8096) Hendrik Makait
Make
PreloadManager
aSequence
(GH#8112) Hendrik MakaitIntroduce
PreloadManager
to handle failures in preload setup/teardown (GH#8078) Hendrik MakaitRestructure P2P code (GH#8098) Hendrik Makait
Make
ToPickle
aGeneric
(GH#8097) Hendrik MakaitDedicated job for
memray
tests (GH#8104) Florian JetterFix
test_task_groups_update_start_stop
, again (GH#8102) crusaderkyRemove
dumps_task
(GH#8067) Florian JetterSimplify usage of queues in nanny (GH#6655) Florian Jetter
Fix flakiness in tests caused by
WindowsTime
(GH#8087) crusaderkyOverhaul
gather()
(GH#7997) crusaderkyFix flaky
test_asyncprocess.py::test_simple
(GH#8085) crusaderkySkip
test_client.py::test_file_descriptors_dont_leak
on Mac OS (GH#8080) Hendrik MakaitReorder operations in
Worker.close
(GH#8076) Hendrik Makait
2023.8.0¶
Released on August 4, 2023
Enhancements¶
Offload CPU intensive sections of update graph to unblock event loop (GH#8049) Florian Jetter
Log worker close reason in events (GH#8042) Florian Jetter
Exclude comm handshake from connect timeout (GH#7698) Florian Jetter
Automatically restart P2P shuffles when output worker leaves (GH#7970) Hendrik Makait
Add
Client.unregister_scheduler_plugin
method (GH#7968) Brian PhillipsFix log message (GH#8029) Hendrik Makait
Send shards grouped by input chunk in P2P rechunking (GH#8010) Hendrik Makait
Bug Fixes¶
Close state machine and add-ins first in
Worker.close
(GH#8066) Hendrik MakaitFix
decide_worker
picking a closing worker (GH#8032) crusaderkyRaise
CommClosedError
inget_stream_address
(GH#8020) jochenottRespect average
nthreads
in adaptive (GH#8041) Matthew RocklinUse queued tasks in adaptive target (GH#8037) Matthew Rocklin
Restore support for yield unsafe
Client
context managers and deprecate that support (GH#7987) Thomas Grainger
Documentation¶
Change
worker_saturation
default value to 1.1 in the documention (GH#8040) minhnguyenxuan60Clarified
concurrent.futures
section inclient.rst
(GH#8048) mercyo12
Maintenance¶
Fix flaky
test_worker_metrics
(GH#8069) crusaderkyRebalance
ci1
markers (GH#8061) Florian JetterEnsure stream messages are always ordered (GH#8059) Florian Jetter
Simplify update graph (GH#8047) Florian Jetter
Provide close reason when signal is caught (GH#8045) Florian Jetter
Allow unclosed comms in tests (GH#8057) Florian Jetter
Cosmetic tweak to
adaptive_target
(GH#8052) crusaderkyFix linting (GH#8046) Florian Jetter
Update gpuCI
RAPIDS_VER
to23.10
(GH#8033)Test against more recent
pyarrow
versions (GH#8021) James BourbeauAdd a test for
GraphLayout
withscatter
(GH#8025) Irina TruongFix compatibility variable naming (GH#8030) Hendrik Makait
2023.7.1¶
Released on July 20, 2023
Enhancements¶
gather_dep
should handleCancelledError
(GH#8013) crusaderkyPass
stimulus_id
toSchedulerPlugin.remove_worker
andSchedulerPlugin.transition
(GH#7974) Hendrik MakaitLog
stimulus_id
inretire_worker
(GH#8003) crusaderkyUse
BufferOutputStream
in P2P (GH#7991) Florian JetterAdd Coiled to ignored modules for code sniffing (GH#7986) Matthew Rocklin
Progress bar can group tasks by span (GH#7952) Irina Truong
Improved error messages for P2P shuffling (GH#7979) Hendrik Makait
Reduce removing comms log to debug level (GH#7972) Florian Jetter
Bug Fixes¶
Fix for
TypeError: '<' not supported
in graph dashboard (GH#8017) Irina TruongFix shuffle code to work with
pyarrow
13 (GH#8009) Joris Van den Bossche
Documentation¶
Add some top-level exposition to the p2p rechunking code (GH#7978) Lawrence Mitchell
Maintenance¶
Add test when not
repartitioning
forp2p
inset_index
(GH#8016) Patrick HoeflerBump
JamesIves/github-pages-deploy-action
from 4.4.2 to 4.4.3 (GH#8008)Configure asyncio loop using
loop_factory
kwarg rather than using theset_event_loop_policy
(GH#7969) Thomas GraingerFix P2P worker cleanup (GH#7981) Hendrik Makait
Skip
click
v8.1.4 in mypypre-commit
hook (GH#7989) Thomas GraingerRemove accidental duplicated conversion of
pyarrow
Table
to pandas (GH#7983) Joris Van den Bossche
2023.7.0¶
Released on July 7, 2023
Enhancements¶
Propagate spans to tasks (GH#7898) crusaderky
Make Fine Performance Metrics bar graph horizontal (GH#7966) crusaderky
Don’t pile up
context_meter
callbacks (GH#7961) crusaderkyPolish Fine Performance Metrics plot (GH#7963) crusaderky
Sign
task-erred
withrun_id
and reject outdated responses (GH#7933) Hendrik MakaitSet
Client.as_current
when entering ctx (GH#6527) Florian JetterRe-run erred task on
ComputeTaskEvent
(GH#7967) Hendrik Makait
Bug Fixes¶
Fix crash in spans when
time()
is not monotonic (GH#7960) crusaderky
Documentation¶
Documentation for Fine Performance Metrics and Spans (GH#7945) crusaderky
Update
client.py
to be consistent with the docstring (GH#7705) Sultan Orazbayev
Maintenance¶
Use
distributed.wait_for
intest_close_async_task_handles_cancellation
(GH#7955) Thomas GraingerFix flaky UCX tests (GH#7950) Peter Andreas Entschev
2023.6.1¶
Released on June 26, 2023
Enhancements¶
Add idle time to fine performance metrics (GH#7938) crusaderky
Spans: capture code snippets (GH#7930) crusaderky
Improve memory footprint of P2P rechunking (GH#7897) Hendrik Makait
Improve error message on invalid state in
_handle_remove_replicas
(GH#7920) Hendrik MakaitMake
ShuffleSchedulerExtension.remove_worker
more robust (GH#7921) Hendrik MakaitProvide more information if occupancy drops below zero (GH#7924) Hendrik Makait
Improved conversion between
pyarrow
andpandas
in P2P shuffling (GH#7896) Hendrik Makait
Bug Fixes¶
Add
Cluster.called_from_running_loop
and fixCluster.asynchronous
(GH#7941) Jacob TomlinsonFix annotations and spans leaking between threads (GH#7935) Irina Truong
Handle null partitions in P2P shuffling (GH#7922) Jonathan De Troye
Fix race condition in Fine Performance Metrics sync (GH#7927) crusaderky
Avoid (GH#7923) by starting
run_id
at 1 (GH#7925) Hendrik MakaitFix glitches in Fine Performance Metrics stacked graph (GH#7919) crusaderky
Maintenance¶
Wipe the cache after (GH#7935) (GH#7946) crusaderky
Remove grace period for unclosed comms in
gen_cluster
(GH#7937) Thomas Graingerraise pytest.skip
is redundant (GH#7939) crusaderkyFix
test_rechunk_with_{fully|partially}_unknown_dimension
on CI (GH#7934) Hendrik MakaitFix compatibility with
numpy
1.25 (GH#7932) crusaderkySpans: refactor sums of mappings (GH#7918) crusaderky
Fix flaky
test_send_metrics_to_scheduler
(GH#7931) crusaderkyAvoid calls to
make_current()
andmake_clear()
by usingasyncio.run
inLoopRunner
(GH#7467) Thomas GraingerAdd
needs triage
label to re/opened PRs and issues (GH#7916) MilesRemove
span_id
from global metrics on scheduler (GH#7917) crusaderkyAdd spans to Fine Performance Metrics bokeh dashboard (GH#7911) crusaderky
FinePerformanceMetrics dashboard overhaul (GH#7910) crusaderky
Fix CI changes from (GH#7902) (GH#7905) Hendrik Makait
Rename
get_default_shuffle_algorithm
toget_default_shuffle_method
(GH#7902) Hendrik MakaitBump actions/checkout from 3.5.2 to 3.5.3 (GH#7904)
Refactor P2P rechunk validation (GH#7890) Hendrik Makait
2023.6.0¶
Released on June 9, 2023
Enhancements¶
Post fine performance metrics to spans (GH#7885) crusaderky
Unique Spans (GH#7882) crusaderky
Add a
timeout
toclient.as_completed
that mirrorsconcurrent.futures.as_completed
timeout
(GH#7811) Thomas GraingerEnforce dtypes in P2P shuffle (GH#7879) Hendrik Makait
Support
load=
keyword forClient.upload_file
(GH#7873) James BourbeauSupport
get_worker()
andworker_client()
in async tasks (GH#7844) Thomas Grainger
Bug Fixes¶
Avoid meta roundtrip in P2P shuffle (GH#7895) Hendrik Makait
Fix Fine Performance Metrics mis-aligned
ColumnData
lengths (GH#7893) MilesFix spans bug when
scatter
orclient_desires_new_key
creates a task (GH#7886) crusaderkyTaskGroup.start
can move backwards (GH#7867) crusaderkyUse properly imported
MatDescriptor
forcupy
dispatch registration (GH#7868) Charles Blackmon-LucaEnsure
retire_workers
works if AMM extension hasn’t been loaded (GH#7863) crusaderky
Maintenance¶
Review user-defined fine performance metrics (GH#7894) crusaderky
Fix tests that disable the shuffle extension (GH#7883) crusaderky
Refactor
Scheduler.is_idle
(GH#7881) crusaderkyLink TaskGroups to Spans (GH#7869) crusaderky
Spans skeleton (GH#7862) crusaderky
Update gpuCI
RAPIDS_VER
to23.08
(GH#7855)Bump
JamesIves/github-pages-deploy-action
from 4.4.1 to 4.4.2 (GH#7865)
2023.5.1¶
Released on May 26, 2023
Note
This release drops support for Python 3.8. As of this release Dask supports Python 3.9, 3.10, and 3.11. See this community issue for more details.
Enhancements¶
Drop Python 3.8 support (GH#7840) Thomas Grainger
Add
storage_options
toperformance_report
(GH#7636) ypogorelovaDon’t warn about mismatched
msgpack
(GH#7839) Irina TruongClean up
sys.path
onServer
shutdown (GH#7838) James Bourbeau
Bug Fixes¶
Properly handle unknown chunk sizes in P2P rechunking (GH#7856) Hendrik Makait
Minimal change to work around (GH#7726) / support for UCX (GH#7851) Benjamin Zaitlen
Don’t end computations until cluster is truly idle (GH#7790) crusaderky
Maintenance¶
Explicitly install
anaconda-client
from conda-forge when uploading conda nightlies (GH#7861) Charles Blackmon-LucaFix
is_idle
docs build (GH#7854) James BourbeauAdd tests for P2P barrier fusion (GH#7845) Hendrik Makait
Avoid
DeprecationWarning
incupy
dispatch registration (GH#7836) Lawrence Mitchell
2023.5.0¶
Released on May 12, 2023
Enhancements¶
Client.upload_file
send to both Workers and Scheduler and rename scratch directory (GH#7802) MilesAllow dashboard to be used with bokeh prereleases (GH#7814) James Bourbeau
Bug Fixes¶
Ensure log_event of non-msgpack serializable object do not kill servers (GH#7472) Florian Jetter
Fix
test_nanny.py
duplicatedpytestmark
definitions (GH#7819) Thomas GraingerFix flaky
test_dask_worker.py::test_single_executable_deprecated
(GH#7817) Thomas Grainger
Maintenance¶
Annotation-less P2P shuffling (GH#7801) Hendrik Makait
Fix docstring for
batch_size
inclient.map
(GH#7833) David ChudzickiRefactor
test_protocol.py
(GH#7829) crusaderkyLint #6496 (GH#7828) crusaderky
Remove hardcoded 60s timeout (GH#6496) Florian Jetter
Add
__init__.py
files to template and static directories (GH#7809) Thomas GraingerDisable compression for fast comms (GH#7768) crusaderky
Avoid deprecated
pd.api.types.is_sparse
(GH#7813) James BourbeauBump gpuCI
PYTHON_VER
from 3.8 to 3.9 (GH#7812) Charles Blackmon-Luca
2023.4.1¶
Released on April 28, 2023
Enhancements¶
Enable GIL monitoring when gilknocker installed (GH#7730) Miles
By default only set logging handler if no other handler has been set to avoid double logging (GH#7750) Thomas Grainger
Cluster wait (GH#6700) Iain Dorrington
Add Prometheus counter for
SystemMonitor.last_time
(GH#7785) Miles
Bug Fixes¶
Partial revert defaultclient config setting (GH#7803) Florian Jetter
Delay awaiting async
SchedulerPlugin.{add|remove}_worker
hooks in order to immediately execute all sync ones (GH#7799) Hendrik MakaitFix
check_idle
not returning the correct value if no change to idleness (GH#7781) Jacob Tomlinson
Maintenance¶
Avoid warning when
gilknocker
not installed (GH#7808) James BourbeauOnly set worker/nanny to
Status.running
if it is inStatus.init
(GH#7773) Thomas GraingerAdd
--cov-config=pyproject.toml
so config is always correctly loaded bypytest-cov
(GH#7793) Thomas Graingergilknocker
from conda-forge (GH#7791) James BourbeauMinor
zict
cleanup (GH#7783) crusaderkyBump
actions/checkout
from 3.5.0 to 3.5.2 (GH#7784)Fix typing now that code is tuple of frame(s) (GH#7778) Nat Tabris
2023.4.0¶
Released on April 14, 2023
Note
With this release we are making a change which will require the Dask scheduler to have consistent software and hardware capabilities as the client and workers.
It’s always been recommended that your client and workers have a consistent software and hardware environment so that data structures and dependencies can be pickled and passed between them. However recent changes to the Dask scheduler mean that we now also require your scheduler to have the same consistent environment as everything else.
Enhancements¶
Meter queue time to the offload executor (GH#7758) crusaderky
Add methods
Client.forward_logging()
andClient.unforward_logging()
. (GH#7276) Max BaneOptionally capture more frames in computations (GH#7656) Gabe Joseph
Consider Jupyter activity in idle timeout (GH#7687) Gabe Joseph
Add a dashboard component that displays RMM memory (GH#7718) Peter Andreas Entschev
Improve error message if
shuffle
/rechunk
lost annotations (GH#7707) Hendrik MakaitException chaining in P2P shuffling (GH#7706) Hendrik Makait
Use pickle for graph submissions from client to scheduler (GH#7564) Florian Jetter
Bug Fixes¶
Fix crash on missing env var in dashboard link formatting (GH#7729) Miles
Fix
randbytes()
on Python 3.8 (GH#7771) crusaderkyRun scheduler of
SubprocessCluster
in subprocess (GH#7727) Hendrik MakaitDrop id from RMM dashboard component (GH#7739) James Bourbeau
Maintenance¶
Bump
peter-evans/create-pull-request
from 4 to 5 (GH#7766)Fix flaky
test_malloc_trim_threshold
in CI (GH#7764) crusaderkyMinor polish in
spill
andworker_memory_manager
(GH#7752) crusaderkyMerge identical
tool.mypy.overrides
sections (GH#7749) Thomas GraingerAdd changelog section for 2023.3.2.1 (GH#7755) Charles Blackmon-Luca
Specify
ts
resolution explicitly intest_processing_chain
(GH#7744) Patrick HoeflerUnignore Sphinx
ref.python
(GH#7713) Thomas GraingerTemporary fix for
test_merge_by_multiple_columns
with pandas 2.0 (GH#7747) James BourbeauRemove
dask/gpu
from gpuCI update reviewers (GH#7741) Charles Blackmon-LucaUpdate gpuCI
RAPIDS_VER
to23.06
(GH#7728)Remove test for
DataFrame.to_hdf
(GH#7735) Hendrik MakaitTest P2P shuffling with
DataFrame.to_hdf
(GH#7720) Hendrik Makaitscheduler.py
typing - removeallow_incomplete_defs
(GH#7721) Florian JetterRemove
bokeh
upper bound (GH#7413) James BourbeauUse declarative
setuptools
(GH#7629) Thomas GraingerUpgrade readthedocs config to ubuntu 22.04 and Python 3.11 (GH#7722) Thomas Grainger
Clean up legacy cruft from worker reconnection (GH#7712) crusaderky
Bump
actions/checkout
from 3.4.0 to 3.5.0 (GH#7711)Drop support for zict 2.1.0 (GH#7709) crusaderky
Fix
mypy
warning intest_client.py
(GH#7710) crusaderkyTest P2P shuffling with
DataFrame.categorize
(GH#7708) Hendrik Makait
2023.3.2.1¶
Released on April 5, 2023
Bug Fixes¶
Register atexit handler before Distributed handlers to unblock hanging UCX clusters Lawrence Mitchell Ben Zaitlen
2023.3.2¶
Released on March 24, 2023
Enhancements¶
Enhanced thread-safety in
zict.File
(GH#7691) crusaderkyFuture deserialization without available client (GH#7580) Florian Jetter
Fine performance metrics for
execute
,gather_dep
, etc. (GH#7586) crusaderkyExpose scheduler idle via RPC and HTTP API (GH#7642) Jacob Tomlinson
Bug Fixes¶
Tell workers when their peers have left (so they don’t hang fetching data from them) (GH#7574) Thomas Grainger
Fix regression in dashboard after (GH#7586) (GH#7683) crusaderky
Fix
OverflowError
inCluster._sync_cluster_info()
(GH#7648) Hendrik MakaitEnsure that serialized data is measured correctly (GH#7593) Florian Jetter
Documentation¶
Fix unexpected indentation in
Client.cancel
docstring (GH#7694) Thomas GraingerImprove plugin API documentation (GH#7653) Florian Jetter
Maintenance¶
Configure sphinx warnings as errors (GH#7697) Thomas Grainger
Fix naming comparison in
test-report
workflow script (GH#7695) MilesTemporarily restrict
ipywidgets<8.0.5
(GH#7693) crusaderkyBump
actions/checkout
from 3.3.0 to 3.4.0 (GH#7685)Temporarily restrict
ipykernel<6.22.0
(GH#7689) James BourbeauFix typo in
CODEOWNERS
(GH#7670) Hendrik MakaitAvoid
bool
object has no attributeclose
in@gen_cluster
(GH#7657) Thomas GraingerFix failing
test_server_close_stops_gil_monitoring
(GH#7659) James BourbeauAdd
CODEOWNERS
file (GH#7645) Jacob TomlinsonRemove
weakref
finalizer for Offload Executor (GH#7644) Florian Jetter
2023.3.1¶
Released on March 10, 2023
Enhancements¶
Add Jupyter link to dashboard menu if
--jupyter
flag is set (GH#7638) Jacob TomlinsonExtend
dask
metapackage dependencies (GH#7630) James BourbeauFurther improvements to
Client.restart_workers
(GH#7620) MilesP2P offload
get_output_partition
(GH#7587) Florian JetterInitial integration of GIL contention metric (GH#7624) Miles
Rename shuffle/rechunk config option/kwarg to method (GH#7623) Hendrik Makait
Ensure client key cancellation uses ordered messages (GH#7583) Florian Jetter
Bug Fixes¶
Fix undefined
async_wait_for
->async_poll_for
(GH#7627) MilesDon’t send client heartbeat without a
scheduler_comm
(GH#7612) James BourbeauDo not unspill on free-keys (GH#7607) crusaderky
Documentation¶
Add notes to
Client.submit
,Client.map
, andClient.scatter
with the description of the current task graph resolution algorithm limitations (GH#7588) Eugene Druzhynin
Maintenance¶
Share thread pool among P2P shuffle runs (GH#7621) Hendrik Makait
Replace
psutil
suspend withBlockedGatherDep
intest_failing_worker_with_additional_replicas_on_cluster
(GH#7633) Thomas GraingerIgnore
pkg_resources
DeprecationWarning
for mindeps (GH#7626) MilesImplement
wait_for
usingasyncio.timeout()
on 3.11 (GH#7571) Thomas GraingerUse
tmp_path
fixture instead of outdatedtmpdir
fixture (GH#7582) ypogorelovaOnly one
crick
callback (GH#7614) crusaderkyDo not
xfail
whole tests due to (GH#6705) (GH#7611) crusaderky
2023.3.0¶
Released on March 1, 2023
Bug Fixes¶
Remove
pyarrow
dependency for rechunking (GH#7604) Florian JetterUpdate
rechunk_transfer
andrechunk_unpack
errors (GH#7600) James Bourbeau
Maintenance¶
Remove dead code and document arguments to
ShardBuffer
constructors (GH#7590) Lawrence MitchellFix tests for p2p by default (GH#7595) Florian Jetter
Remove obsolete cast (GH#7596) Florian Jetter
2023.2.1¶
Released on February 24, 2023
Enhancements¶
P2P for array rechunking (GH#7534) Hendrik Makait
P2P HashJoin (GH#7514) Florian Jetter
Unpickle Events, Variables, Queues and Semaphore safely without Client context (GH#7579) Florian Jetter
Allow pickle to fall back to dask_serialize (GH#7567) Florian Jetter
make
ConnectionPool.remove
cancel connection attempts (GH#7547) Thomas GraingerMeter how long each task prefix stays in each state (GH#7560) crusaderky
Bug Fixes¶
Avoid parsing
sys.argv
when startingjupyter
server (GH#7573) Brett Naulstr
/bytes
compatibility for PyNVML device name (GH#7563) James Bourbeaumetrics.monotonic()
is not monotonic on Windows (GH#7558) crusaderkyFix for
bytes
/str
discrepancy after PyNVML update (GH#7544) Peter Andreas Entschev
Maintenance¶
Raise when attempting P2P with active fuse optimization (GH#7585) Hendrik Makait
Fix
test_shuffling
(GH#7581) Hendrik MakaitP2P: raise RuntimeError if pyarrow version is not sufficient (GH#7578) Florian Jetter
Check for dtype support in p2p (GH#7425) Hendrik Makait
Update parsing of FULL_RAPIDS_VER/FULL_UCX_PY_VER (GH#7568) Charles Blackmon-Luca
move retry from get_data_from_worker to gather_from_workers (GH#7546) Thomas Grainger
Increase
numpy
andpandas
version pins for nightlies (GH#7562) James BourbeauSet validate=True in all tests (GH#7557) crusaderky
Remove dead code from _get_task_finished_msg (GH#7561) crusaderky
Mark tests that take >2s as slow (GH#7556) crusaderky
Fix test_scatter_no_workers on slow CI (GH#7559) crusaderky
Unskip
test_delete_some_results
(GH#7508) Hendrik Makaitscatter() should not sidestep the worker transition machinery (GH#7545) crusaderky
pre-commit bump (GH#7541) crusaderky
Better assertions in Worker.validate_state() (GH#7549) crusaderky
Bump jacobtomlinson/gha-find-replace from 2 to 3 (GH#7540) James Bourbeau
Bump
black
to 23.1.0 (GH#7542) crusaderkyRun GPU tests on python 3.8 & 3.10 (GH#7537) Charles Blackmon-Luca
2023.2.0¶
Released on February 10, 2023
Enhancements¶
Rate limit the worker memory logs (GH#7529) Florian Jetter
Move P2P barrier logic to scheduler extension (GH#7519) Hendrik Makait
Maintenance¶
Use PEP 673
Self
type (GH#7530) Thomas GraingerTentatively fix
test_pause_while_spilling
(GH#7517) crusaderkyAnnotate
asyncio_tcp.py
(GH#7522) crusaderkyUse dask git tip for
mypy
(GH#7516) crusaderkyUpgrade to
mypy
v1 (GH#7525) Thomas GraingerClean up calls to
captured_logger
(GH#7521) crusaderkyUpdate
isort
version to 5.12.0 (GH#7513) Lawrence Mitchell
2023.1.1¶
Released on January 27, 2023
Enhancements¶
P2P shuffle deduplicates data and can be run several times (GH#7486) Hendrik Makait
Reverse order of
get_logs()
andget_worker_logs()
(GH#7475) Nicholas R. KnezekAdd prometheus metric for time and memory used per task prefix (GH#7406) Thomas Grainger
Additive worker counts in Prometheus (GH#7468) crusaderky
Add help tool for taskstream (GH#7478) Florian Jetter
Bug Fixes¶
Do not allow for a worker to reject a drop replica request (GH#7490) Hendrik Makait
Fix un/packing for namedtuples with custom constructors (GH#7465) antonymayi
Documentation¶
Remove
timeout=
from docstring example forworker_client
(GH#7497) Florian Jetter
Maintenance¶
Ignore get_default_shuffle_algorithm linting issue (GH#7506) Florian Jetter
Remove set_config when using default client (GH#7482) Florian Jetter
Update gpuCI
RAPIDS_VER
to23.04
(GH#7501)Fix
test_balance_expensive_tasks
and improve helper functions intest_steal.py
(GH#7253) Hendrik MakaitSign every compute task with run ID to correlate response (GH#7463) Hendrik Makait
2023.1.0¶
Released on January 13, 2023
New Features¶
Add local
SubprocessCluster
that runs workers in separate processes (GH#7431) Hendrik Makait
Enhancements¶
Ensure client session is quiet after
cluster.close()
orclient.shutdown()
(GH#7429) James BourbeauSet
lifetime-stagger
default value toNone
(GH#7445) bstadlbauerMemory thresholds should never be exactly
0.0
(GH#7458) Stuart BergRemove the Incorrect-Sizeof-Warning (GH#7450) Mads R. B. Kristensen
Log exceptions in P2P shuffle tasks (GH#7442) Hendrik Makait
Add support for packing
namedtuple
and add test for future resolution in submit (GH#7292) AndrewAvoid deep copy on
lz4
decompression (GH#7437) crusaderkyAvoid deep copy of
numpy
buffers on unspill (GH#7435) crusaderkyDon’t error when clicking on empty task stream plot (GH#7432) James Bourbeau
Do not count spilled memory when comparing vs. process memory (GH#7430) crusaderky
Stop
Client
periodic callbacks duringshutdown()
(GH#7428) James BourbeauAdd
dask spec
CLI (GH#7427) Matthew RocklinCreate new
zstd
(de)compressor for each compression call (GH#7404) Dylan WraggeRename
managed_in_memory
etc. to match GUI (GH#7418) crusaderkyWarn users when
sizeof()
returns inflated output (GH#7419) crusaderky
Bug Fixes¶
Ensure dicts are properly recognized as
msgpack
serializable (GH#7473) Florian JetterReset state of
ShuffleSchedulerExtension
on restart (GH#7446) Hendrik MakaitReject non-string column names in P2P shuffle (GH#7447) Hendrik Makait
Avoid
int32
in dashboard (GH#7443) Matthew RocklinFix
P2PShuffle
serialization for categorical data (GH#7410) Hendrik MakaitWorkerPorcess
blocks on kill if still starting (GH#7424) Matthew Rocklin
Documentation¶
Move Prometheus docs from
dask/dask
(GH#7405) crusaderky
Maintenance¶
Various cleanups in semaphore (GH#5885) Florian Jetter
test_rlimit
fails on MacOSX (GH#7457) crusaderkyBump
actions/checkout
from 3.2.0 to 3.3.0 (GH#7464)Remove conditional imports of
psutil
(GH#7462) crusaderkyDrop support for
zict < 2.1.0
(GH#7456) crusaderkyFix flaky
test_digests
(GH#7454) crusaderkyAdd minimum dependency testing to CI (GH#7285) Charles Blackmon-Luca
Avoid overflow in
statitics.mean
(GH#7426) Matthew RocklinIgnore
numpy
bool8
deprecation (GH#7423) Matthew RocklinAdd missing skips for pyarrow (GH#7416) Elliott Sales de Andrade
Be more permissive about expected ciphers in tests (GH#7417) Elliott Sales de Andrade
Revert “TST: Fetch executables from build root (GH#2551)” (GH#7415) Elliott Sales de Andrade
2022.12.1¶
Released on December 16, 2022
Enhancements¶
SpillBuffer
metrics (GH#7368) crusaderkyPrometheus: measure how much spilling blocks the event loop (GH#7370) crusaderky
Add
transfer_outgoing_bytes_total
metric (GH#7388) Gabe JosephFail
P2PShuffle
gracefully upon worker failure (GH#7326) Hendrik Makait
Bug Fixes¶
Select queued tasks in stimuli, not transitions (GH#7402) Gabe Joseph
Check
ContextVar
indefault_client
(GH#7369) Matthew RocklinFix sending event messages to non-subscribers (GH#7014) Laurence Watts
Set sizing mode on
Tabs
to avoid layout collapse (GH#7365) Mateusz Paprocki
Maintenance¶
Restructure
P2PShuffle
extensions (GH#7390) Hendrik MakaitAdd Python 3.11 classifier (GH#7408) James Bourbeau
Add support for Python 3.11 (GH#7249) Thomas Grainger
Add test for using annotations with
client.submit
andclient.map
(GH#7399) James BourbeauBump
actions/checkout
from 3.1.0 to 3.2.0 (GH#7393)Remove superfluous
ShuffleSchedulerExtension.barriers
(GH#7389) Hendrik MakaitRemove ignore annotation-unchecked (GH#7379) crusaderky
Remove
tornado
max version from nightly recipe (GH#7376) Charles Blackmon-LucaRemove the experimental feature warning for
Semaphore
(GH#7373) Florian Jetter
2022.12.0¶
Released on December 2, 2022
Enhancements¶
Expose event loop health metrics in Prometheus (GH#7360) Hendrik Makait
Allow log propagation by default (GH#5669) Florian Jetter
Clean up of
unpack_remotedata()
(GH#7322) Mads R. B. KristensenUpgrade to
tornado
6.2 (GH#7286) Thomas GraingerIntroduce
Server
levelcomm
counters (GH#7332) Florian JetterPrometheus debug log (GH#7302) Florian Jetter
Bug Fixes¶
Catch
BaseException
s from user tasks (GH#5997) Gabe JosephImpossible use case of erred deps in transition to waiting (GH#7354) crusaderky
Fix a deadlock when queued tasks are resubmitted quickly in succession (GH#7348) Florian Jetter
Documentation¶
Editorial changes to Prometheus documentation (GH#7350) Hendrik Makait
Maintenance¶
Fetch all artifacts (GH#7355) Enrico Minack
Delay
fsspec
andurllib3
import time (GH#6659) Florian JetterBump
mypy
(GH#7349) crusaderkyBump
mypy
and remove win specific run (GH#7344) Florian JetterFinish overhaul of
SchedulerState
annotations (GH#7333) crusaderkyFix flaky
test_pause_while_spilling
(GH#7334) Gabe JosephUpdate gpuCI
RAPIDS_VER
to23.02
(GH#7337)
2022.11.1¶
Released on November 18, 2022
Enhancements¶
Restrict
bokeh=3
support (GH#7329) Gabe JosephRespect death timeout when waiting for scheduler file (GH#7296) Florian Jetter
Always raise exception if
P2PShuffle
s send fails (GH#7317) Hendrik Makait
Documentation¶
Fix typo in
client.run()
docstring (GH#7315) Richard PelgrimNote queuing default change in changelog (GH#7314) Gabe Joseph
Maintenance¶
Update
ga-yaml-parser
step in gpuCI updating workflow (GH#7335) Charles Blackmon-LucaRemove exception handling from transitions (GH#7316) crusaderky
Turn private functions into private
SchedulerState
methods (GH#7260) Hendrik MakaitBump
toolz
minimum version to0.10.0
(GH#7309) Sam Grayson
2022.11.0¶
Released on November 15, 2022
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 forwardstdout
andstderr
to client. (GH#7297) Hendrik MakaitDuration 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 withoutprometheus-client
installed (GH#7234) Hendrik MakaitAdd 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 PloughIf there’s an exception in the
Client
async context manager body then close fast (GH#6920) Thomas Grainger
Documentation¶
Copyediting typos +
codespell
pre-commit
hook for docs (GH#7294) Matthew PloughQueuing docs (GH#7203) Gabe Joseph
Bug Fixes¶
Ensure category is optional when logging
"warn"
events (GH#7169) James BourbeauEdge and impossible transitions to memory (GH#7205) crusaderky
Maintenance¶
Use
conda-incubator/setup-miniconda@v2.2.0
(GH#7310) jakirkhamAllow
bokeh=3
(GH#5648) James BourbeauFix typos in P2P shuffle code (GH#7304) Hendrik Makait
Reenable
test_bad_disk
(GH#7300) Florian JetterReduce max-runs in test reports (GH#7299) Florian Jetter
Revert idle classification when
worker-saturation
is set (GH#7278) Florian JetterFix flaky
deadline_expiration
(GH#7287) Florian JetterRewrite of P2P control flow (GH#7268) Florian Jetter
Add codecov token (GH#7277) Florian Jetter
Bump minimum
bokeh
version to 2.4.2 (GH#7271) James BourbeauRemove deprecated code calls to
IOLoop.make_current()
(GH#7240) Thomas GraingerImproved test for balancing expensive tasks (GH#7272) Hendrik Makait
Refactor
semaphore._Watch
into general-purposeDeadline
utility (GH#7238) Hendrik MakaitDrop tests (GH#7269) Hendrik Makait
Replace
test_(do_not_)steal_communication_heavy_tasks
tests with more robust versions (GH#7243) Hendrik Makaitxfail
test_bad_disk
(GH#7265) crusaderkyMove
transition_log
fromScheduler
toSchedulerState
(GH#7254) crusaderkyRemove
Scheduler.log
(GH#7258) crusaderkyPolish parsing of
worker-saturation
from config (GH#7255) crusaderkyAvoid expensive occupancy calculation when unused (GH#7257) Gabe Joseph
Un-skip
test_nested_compute
(GH#7247) Gabe JosephReview
test_do_not_steal_communication_heavy_tasks
(GH#7250) crusaderkyFix
test_stress_creation_and_deletion
(GH#7215) crusaderkyRaise exceptions in
Server.handle_stream
instead of swallowing/logging (GH#7162) Hendrik MakaitUpgrade to
mypy
v0.982 (GH#7241) Thomas GraingerFix
_update_scheduler_info
hanging failed tests (GH#7225) Gabe JosephBump
xarray-contrib/ci-trigger
from 1.1 to 1.2 (GH#7232)
2022.10.2¶
Released on October 31, 2022
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
2022.10.1¶
Released on October 28, 2022
New Features¶
Add
Client.restart_workers
method (GH#7154) James BourbeauImplement
PackageInstall
plugin forpip
andconda
(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 BourbeauOptionally provide local directory to data constructor (GH#7153) Lawrence Mitchell
Introduce
distributed.comm.ucx.environment
config slot (GH#7164) Lawrence MitchellLog 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
Documentation¶
Add note to changelog about new CLI (GH#7178) James Bourbeau
Update AMM docs (GH#7158) Benjamin Zaitlen
Add
CondaInstall
to plugins doc (GH#7149) James Bourbeau
Bug Fixes¶
Update minimum
bokeh
version message (GH#7172) James BourbeauRevamped implementations of remote
print()
andwarn()
, fixing #7095 (GH#7129) Max Bane
Maintenance¶
Temporarily restrict
bokeh<3
(GH#7219) James BourbeauMake
Scheduler.reschedule
private (GH#7216) crusaderkyFix
decide_worker_rootish_queuing_disabled
assert (GH#7065) Gabe JosephFix flaky
test_include_communication_in_occupancy
(GH#7212) Gabe JosephDo 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 JetterBackport tornado
PeriodicCallback
(GH#7165) Florian JetterFix
mypy
failure on CI (GH#7198) Florian JetterUser a layer for
p2p
shuffle (GH#7180) Florian JetterType 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) crusaderkyBump
the-coding-turtle/ga-yaml-parser
from 0.1.1 to 0.1.2 (GH#7146)Bump
JamesIves/github-pages-deploy-action
from 4.1.7 to 4.4.1 (GH#7145)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
2022.10.0¶
Released on October 14, 2022
Note
This release deprecates dask-scheduler
, dask-worker
, and dask-ssh
CLIs in favor of dask scheduler
, dask worker
, and dask ssh
,
respectively. The old-style CLIs will continue to work for a time, but will be
removed in a future release.
As part of this migration the --reconnect
, --nprocs
, --bokeh
,
--bokeh-port
CLI options have also been removed for both the old- and new-style
CLIs. These options had already previously been deprecated.
Enhancements¶
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 JosephReturn default on
KeyError
at any level inget_metadata
(GH#7109) Hendrik MakaitCount task states per task prefix and expose to Prometheus (GH#7088) Nat Tabris
Add
scheduler-sni
option for dask workers (GH#6290) Burt Holzman
Bug Fixes¶
Improve exception catching in UCX communication (GH#7132) Peter Andreas Entschev
Improve robustness of
PipInstall
plugin (GH#7111) Hendrik Makait
Maintenance¶
Fix dependencies that should point to
dask/dask
(GH#7138) James BourbeauHold on to
z.sum()
until test completes (GH#7136) Lawrence MitchellBump
peter-evans/create-pull-request
from 3 to 4 (GH#7120)Update typing for
system_monitor
afterpython/typeshed#8829
(GH#7131) Lawrence MitchellFix two potentially flaky queuing tests (GH#7124) Gabe Joseph
Bump
EnricoMi/publish-unit-test-result-action
from 1 to 2 (GH#7121)Bump
actions/checkout
from 2 to 3.1.0 (GH#7119)Revamp
SystemMonitor
(GH#7097) crusaderkyBump
actions/cache
from 2 to 3 (GH#7118)Bump
actions/upload-artifact
from 2 to 3 (GH#7117)Move dependabot configuration file (GH#7115) James Bourbeau
Enable dependabot for GitHub Actions (GH#7101) Florian Jetter
Update coverage upload action (GH#7100) Florian Jetter
Adjust hardware benchmarks bokeh test (GH#7096) Florian Jetter
Multi-platform mypy checks (GH#7094) crusaderky
Update gpuCI
RAPIDS_VER
to22.12
(GH#7084)
2022.9.2¶
Released on September 30, 2022
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 BourbeauMake AMM memory measure configurable (GH#7062) crusaderky
AMM support for actors (GH#7072) crusaderky
Expose
message-bytes-limit
in config (GH#7074) Hendrik MakaitDetect mismatching Python version in scheduler (GH#7018) Hendrik Makait
Improve
KilledWorker
message users see (GH#7043) James BourbeauSupport for cgroups v2 and respect soft limits (GH#7051) Samantha Hughes
Bug Fixes¶
Catch
BaseException
on UCX read error (GH#6996) Peter Andreas EntschevFix transfer limiting in
_select_keys_for_gather
(GH#7071) Hendrik MakaitParse
worker-saturation
if a string (GH#7064) Gabe JosephNanny(config=...)
parameter overlays global dask config (GH#7069) crusaderkyEnsure default clients don’t propagate to subprocesses (GH#7028) Florian Jetter
Documentation¶
Improve documentation of
message-bytes-limit
(GH#7077) Hendrik MakaitMinor tweaks to Sphinx documentation (GH#7041) crusaderky
Improve
upload_file
API documentation (GH#7040) Florian Jetter
Maintenance¶
test_serialize_numba
: Workaround issue withnp.empty_like
in NP 1.23 (GH#7089) Graham Markalldask-worker-space
(GH#7054) crusaderkyRemove failing test case (GH#7087) Hendrik Makait
test_default_client
(GH#7058) crusaderkyFix
pre-commit
fails with recent versions ofmypy
andpandas
(GH#7068) crusaderkyAdd factorization utility (GH#7048) James Bourbeau
2022.9.1¶
Released on September 16, 2022
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 JetterPartial annotations for
SchedulerState
(GH#7023) crusaderkyAdd more type annotations to
stealing.py
(GH#7009) Florian JetterUpdate codecov settings (GH#7015) Florian Jetter
Speed up
test_balance
(GH#7008) Florian JetterFix 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 JetterReplaced
distributed.utils.key_split
withdask.utils.key_split
(GH#7005) Luke ConibearRevert “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
2022.9.0¶
Released on September 2, 2022
Enhancements¶
Limit incoming data transfers by amount of data (GH#6975) Hendrik Makait
Expose transfer-related metrics in
Worker.get_metrics
andWorkerMetricCollector
(GH#6936) Hendrik MakaitWithhold root tasks (no co assignment) (GH#6614) Gabe Joseph
Improve differentiation between incoming/outgoing connections and transfers (GH#6933) Hendrik Makait
Change memory bars color on spilling/paused status (GH#6959) crusaderky
Ensure restart clears taskgroups et al (GH#6944) Florian Jetter
Optimise
scheduler.get_comm_cost
set difference (GH#6931) Lawrence MitchellExpose setting multiple protocols and ports via the
dask-scheduler
CLI (GH#6898) Jacob TomlinsonMake
TextProgressBar
clear the line when finished (GH#5968) Vincenzo Eduardo Padulano
Bug Fixes¶
Revert
getaddrinfo
fast path for Python 3.8 (GH#6978) Florian Jettercancelled/resumed->long-running transitions (GH#6916) crusaderky
Deprecations¶
Deprecate default value for
Client.wait_for_workers
(GH#6942) Florian Jetter
Documentation¶
Document
Scheduler
andWorker
state machine (GH#6948) crusaderkyInsert
memory_limit
parameter intoLocalCluster
docstring (GH#6839) Crislana Rafael
Maintenance¶
Revert “Limit incoming data transfers by amount of data” (GH#6994) Florian Jetter
Cache conda environment between CI test runs (GH#6855) Charles Blackmon-Luca
Revert “Fix co-assignment for binary operations” (GH#6985) Gabe Joseph
Cache
test_report
shelves in CI (GH#6937) Florian JetterCleanup
ipywidgets
mocking (GH#6918) Thomas GraingerImprove testing of
{Scheduler|Worker}MetricCollector
(GH#6945) Hendrik MakaitClean up nanny
WorkerProcess.kill
(GH#6972) Gabe JosephRewrite
test_reconnect
to use subprocess to kill scheduler reliably (GH#6967) Florian JetterTask state domain on the scheduler side (GH#6929) crusaderky
Remove
@avoid_ci
fromtest_steal
(GH#6872) crusaderkyUse
async with Worker
in tests (GH#6958) crusaderkyIgnore spurious warnings in
test_quiet_close_process
(GH#6955) crusaderkyFix tests on Windows (GH#6954) Hendrik Makait
Prevent duplicates in
HeapSet.sorted()
(GH#6952) crusaderkyPropagate worker address and improve
_remove_from_processing
behavior (GH#6946) Hendrik MakaitAdd
HeapSet._sorted
internal flag (GH#6949) Gabe JosephAdd
HeapSet.peekn
(GH#6947) Gabe JosephFix
pyright
error when importing fromdistributed
(GH#6904) Ian Liu RodriguesAlways return
ws.address
from_remove_from_processing
(GH#6884) Hendrik MakaitUse
async with Client:
in tests (GH#6921) Thomas GraingerEnsure relative memory limits work as percentage of system memory (GH#6923) Florian Jetter
2022.8.1¶
Released on August 19, 2022
New Features¶
Enhancements¶
Drop comparison of versions against all clients (GH#6861) Hendrik Makait
Log the worker name if set (GH#6866) Johannes Lange
Skip
getaddrinfo
thread if host is already resolved, usingsocket.AI_NUMERIC*
(GH#6847) Thomas GraingerDisplay unexpected state in
Worker.execute
validation (GH#6856) James Bourbeaupre-spawn-environ
(GH#6841) crusaderkyDump
has_what
,missing_dep_flight
(GH#6830) Gabe Joseph
Bug Fixes¶
cancelled
/resumed
->rescheduled
transition (GH#6913) crusaderkyFix resource deallocation for resumed tasks (GH#6914) crusaderky
Only close scheduler in
SpecCluster
if it exists (GH#6888) Matthew RocklinFix issue if
exc.reason
isNone
(GH#6881) Hendrik MakaitAlways close
BatchedSend
write coroutines (GH#6865) Gabe JosephHarden preamble of
Worker.execute
against race conditions (GH#6878) crusaderky
Documentation¶
Fix typo (GH#6870) Pieter Gijsbers
Maintenance¶
Use retries for the test report (GH#6926) Florian Jetter
Duplicated code:
in_flight_tasks
validation (GH#6917) crusaderkyipywidgets
8 compatibility (GH#6912) James BourbeauOverhaul transitions for the
resumed
state (GH#6699) crusaderkyDon’t upgrade to
ipywidgets
8 (GH#6910) crusaderkyClean up
cluster
process reaping (GH#6840) Gabe JosephDon’t use
bokeh
Figure
in tests (GH#6721) Bryan Van de VenWork around incompatibility of crick with setuptools 65 (GH#6887) crusaderky
Add max version constraint for
dask-core
in nightlies (GH#6862) Charles Blackmon-LucaReplace
port = random.randint(
withport = d.utils.open_port
(GH#6883) Thomas GraingerFix flaky
test_wall_clock
(GH#6879) crusaderkyAdd descriptive error message to assert (GH#6871) Hendrik Makait
Increase timeout in
test_quiet_process
(GH#6857) Florian JetterDescriptive title for test report (GH#6849) Hendrik Makait
Add
flake8-bugbear
as plugin topre-commit
(GH#6809) Hendrik MakaitRemove redundant use of
with clean():
(GH#6852) Thomas GraingerShow actual Job URL on test report (GH#6837) Florian Jetter
Update
pre-commit
dependencies (GH#6851) Hendrik MakaitCall exit callback even if
AsyncProcess
is reaped elsewhere (GH#6684) Thomas GraingerAvoid function calls in argument defaults (GH#6812) Hendrik Makait
Ignore warning for unclose
SSHCluster
in tests (GH#6827) Florian Jetter
2022.8.0¶
Released on August 5, 2022
New Features¶
Add Jupyter Server to Dask Scheduler (GH#6737) Matthew Rocklin
Enhancements¶
Human-readable formatting for disk I/O and renaming to diff net and disk (GH#6835) Hendrik Makait
Add
Cluster.get_client()
method (GH#6745) Julia SignellStart bokeh app to activate bokeh’s clean session callbacks (GH#6728) Martí Zamora
Bug Fixes¶
Ensure Nanny doesn’t restart workers that fail to start, and joins subprocess (GH#6427) Gabe Joseph
Don’t connect to cluster subprocesses at shutdown (GH#6829) Gabe Joseph
Fix
restart
wait for workers edge case (GH#6823) Gabe JosephFix spilled size calculation in
Slow
(GH#6789) Hendrik Makait
Deprecations¶
Deprecate passing stopped loops to
LoopRunner
(and therefore Client/Cluster) (GH#6680) Thomas Grainger
Documentation¶
Add text to top of API docs to make sure that users are exposed to
LocalCluster
early (GH#6793) Julia SignellChange title for plugins documentation (GH#6733) Sarah Charlotte Johnson
Maintenance¶
Only set 5s connect timeout in
gen_cluster
tests (GH#6822) Gabe JosephFix flaky
test_worker_who_has_clears_after_failed_connection
(GH#6832) Gabe JosephAdd missing skips for pyarrow (GH#6787) Elliott Sales de Andrade
Miscellaneous
flake8-bugbear
issues (GH#6814) Hendrik MakaitAssert otherwise pointless comparisons (B015) (GH#6811) Hendrik Makait
Remove unused functions from
utils_test.py
(GH#6807) Hendrik MakaitFix Jupyter security note (GH#6818) Jacob Tomlinson
Improve
check_thread_leak
output (GH#6797) Gabe JosephUse contextmanager to ensure clients are closed and do not leak (GH#6817) Hendrik Makait
Robust thread termination in
test_watch
andtest_watch_requires_lock_to_run
(GH#6788) Hendrik MakaitAvoid unused loop control variable or name them
_
(GH#6813) Hendrik MakaitReplace
assert False
where an exception should always be thrown (GH#6815) Hendrik MakaitAvoid mutable argument defaults in tests (GH#6810) Hendrik Makait
Avoid mutable argument defaults outside of tests (GH#6665) Hendrik Makait
Update gpuCI
RAPIDS_VER
to22.10
(GH#6798)Use same Python for dask worker tests (GH#6786) Elliott Sales de Andrade
2022.7.1¶
Released on July 22, 2022
Enhancements¶
Wait for workers to return in
Client.restart
(GH#6714) Gabe JosephRemove global mutable
Cluster._cluster_info
(GH#6487) Thomas Grainger
Bug Fixes¶
Fix: nvml no early init (GH#6678) Lawrence Mitchell
Fix bug when restarting client (GH#6654) Iain Dorrington
Failure to spill breaks available resources (GH#6703) crusaderky
Fix resource allocation for tasks with dependencies (GH#6676) Hendrik Makait
Maintenance¶
Revert “Set
MALLOC_TRIM_THRESHOLD_
before interpreter start” (GH#6777) Gabe JosephRemove
test_restart_fast_sync
,test_fast_kill
(GH#6750) Gabe JosephFix flaky
test_async_task_group_call_later_executes_delayed_task_in_background
(GH#6744) Hendrik MakaitDrop redundant
geninc
(GH#6740) Hendrik MakaitRemove unused
worker_coroutines
(GH#6739) Gabe JosephStore ready and constrained tasks in heapsets (GH#6711) crusaderky
Improve tests for cancelled state (GH#6717) crusaderky
Future-proof Bokeh value import (GH#6707) Bryan Van de Ven
Revert temporary stress test (GH#6712) crusaderky
Validate constrained tasks (GH#6698) crusaderky
Minor quality-of-life tweaks to cancelled state (GH#6701) crusaderky
Pickle worker state machine exceptions (GH#6702) crusaderky
Partial matches for worker state machine instructions (GH#6704) crusaderky
Automatically mark all WorkerState tests (GH#6706) crusaderky
2022.7.0¶
Released on July 8, 2022
Enhancements¶
Use a tempdir path by default instead of cwd for the worker scratch dir (GH#6658) Florian Jetter
Add
WorkerState.all_running_tasks
(GH#6690) Hendrik MakaitScheduler.reschedule()
works only by accident (GH#6339) crusaderkyRemove spurious
UnpauseEvent
at worker start (GH#6652) crusaderkyLog if closing an executor is not possible in thread (GH#6644) Florian Jetter
Adding replicas to a task in fetch now sends it to flight immediately (GH#6594) crusaderky
Bug Fixes¶
Fix dump output of parameter-less events (GH#6695) crusaderky
Set
MALLOC_TRIM_THRESHOLD_
before interpreter start (GH#6681) crusaderkyFix deadlocks around rescheduled and resumed states (GH#6673) crusaderky
has_arg
returnsTrue
for keyword-only arguments (GH#6648) Lawrence MitchellTransitions caused by worker death use old ‘worker-connect’
stimulus_id
(GH#6657) crusaderkyA key is forgotten while
acquire-replicas
is running (GH#6638) crusaderky
Maintenance¶
Revisit
WorkerState.long_running
set (GH#6697) crusaderkyWorkerState
unit tests for resumed state (GH#6688) crusaderkyBump version of pandas-stubs (GH#6691) crusaderky
Add
dummy
factory methods forExecuteSuccessEvent
andExecuteFailureEvent
(GH#6687) Hendrik MakaitPin
tornado<6.2
in nightly conda recipes (GH#6675) Peter Andreas EntschevRefactor resource restriction handling in
WorkerState
(GH#6672) Hendrik Makaittest_signal
andtest_terminate
occasionally returnSIGKILL
on MacOS (GH#6671) crusaderkyUse the
loop
fixture in even more tests (GH#6674) Thomas GraingerUnconditionally
import ssl
(GH#6670) Thomas GraingerUse the
loop
fixture in more tests (GH#6642) Thomas GraingerPin tornado to <6.2 (GH#6668) Florian Jetter
Handle
AsyncTaskGroupClosedError
(GH#6664) Hendrik MakaitReplace occurrences of large delay
slowinc
with locks (GH#6656) Florian JetterMerge
extend-ignore
andignore
values forflake8
(GH#6660) Hendrik MakaitRemove server close background task grace period (GH#6633) Thomas Grainger
Do not use tempfile in
utils_test
(GH#6651) Florian Jetterclose_worker
cleanup (GH#6650) crusaderkyRewrite
test_cancelled_resumed_after_flight_with_dependencies
usingWorkerState
(GH#6645) crusaderkyLog the actual duration to create a directory (GH#6647) Florian Jetter
pandas
type stubs (GH#6635) crusaderkyRemove unused
__started
Event
inServer
(GH#6615) Florian JetterUse safe temp directory in
gen_cluster
(GH#6628) Florian JetterPrint CI host info (GH#6629) crusaderky
Deduplicate
data_needed
(GH#6587) crusaderkyRemove
EnsureCommunicatingAfterTransitions
(GH#6462) crusaderkyPickle
WorkerState
(GH#6623) crusaderkyHarden vs.
TaskState
collisions (GH#6593) crusaderkyDo not interact with the event loop when the cluster is garbage collected (GH#6627) Thomas Grainger
2022.6.1¶
Released on June 24, 2022
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.
See GH#5736 for more information.
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 MakaitTrivial tweaks to the Worker State Machine (GH#6586) crusaderky
Replace
loop.call_later
andloop.add_callback
with background tasks added to Server. (GH#6603) Thomas GraingerSupport for neater
WorkerState
tests (GH#6609) crusaderkyEnable
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 GraingerFix
idle_timeout
and unxfail test (GH#6563) Matthew RocklinFix crashing debug statement in
_purge_state
(GH#6589) crusaderkyAbort connections on
CancelledError
(GH#6574) Thomas GraingerFix Active Memory Manager ignores
nbytes
thresholds (GH#6583) crusaderky
Deprecations¶
Deprecate
WorkerState
accessors (GH#6579) crusaderky
Maintenance¶
Remove ipython hack (GH#6599) crusaderky
Mypy enforce
--no-implicit-optional
(GH#6606) crusaderkyUpdate versioneer: change from using
SafeConfigParser
toConfigParser
(GH#6605) Thomas A CaswellWarn unreachable for scheduler.py (GH#6611) Florian Jetter
Refactor
wait_for_state()
(GH#6581) crusaderkyHardcode
wait_for_signals
signal list (GH#6619) Thomas GraingerAlways pick an open port when running tests (GH#6591) Florian Jetter
Log popen stdout/err when subprocess times out (GH#6567) Gabe Joseph
Fix
test_error_during_startup
(GH#6608) Florian JetterMake
test_idle_timeout_no_workers
more robust (GH#6602) Florian JetterMypy enforce
--disallow-incomplete-defs
(GH#6601) crusaderkyDo not log during signal handler (GH#6590) Florian Jetter
Don’t initialize
mp_context
on import (GH#6580) Lawrence MitchellTest retire workers deadlock (GH#6240) Gabe Joseph
Rework some tests related to
gather_dep
(GH#6472) crusaderkyMinor cosmetic review of
scheduler_story
andworker_story
(GH#6442) crusaderkyForce
__future__.annotations
with isort (GH#6621) Thomas Grainger
2022.6.0¶
Released on June 10, 2022
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 JosephDon’t heartbeat while
Worker
is closing (GH#6543) Gabe JosephNo longer retry
LocalCluster
onerrno.EADDRINUSE
(GH#6369) Thomas GraingerDon’t invoke
log_event
from state machine (GH#6512) crusaderkyAdd 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) crusaderkyRestart 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 AugspurgerDeprecate the
io_loop
andloop
kwarg toServer
,Worker
, andNanny
(GH#6473) Thomas GraingerDeprecate the
loop
kwarg toScheduler
(GH#6443) Thomas Grainger
Documentation¶
Fix typo in
.nthreads()
docstring example (GH#6545) Pavithra EswaramoorthyUpdate docs theme for rebranding (GH#6495) Sarah Charlotte Johnson
Maintenance¶
Refactor
gather_dep
(GH#6388) crusaderkyFix flaky
test_gather_dep_one_worker_always_busy
(GH#6554) crusaderkyRemove
missing-data
message (GH#6546) crusaderkyPort
test_local.LocalTest
to pytest tests to allow use ofloop
fixture (GH#6523) Thomas GraingerFix
test_quiet_client_close
(GH#6541) Gabe JosephUse
default_initializer
inWorkerProcess
(GH#6534) jakirkhamAvoid deadlocks in tests that use
popen
(GH#6483) Gabe JosephRevert “Fix CLI Scheduler Tests (GH#6502)” (GH#6547) Gabe Joseph
Update test report URL in summary message (GH#6532) Gabe Joseph
Assert
AsyncProcess.set_exit_callback
is not called with a coroutine function (GH#6526) Thomas GraingerTyping and docstring for
Worker.close
(GH#6518) Hendrik MakaitFix CLI Scheduler Tests (GH#6502) Benjamin Zaitlen
Collect assertions in
test_as_current_is_thread_local
(GH#6520) Thomas GraingerLink test report from test results comment (GH#6524) Hendrik Makait
Ignore the return value of
signal.signal
(GH#6519) Thomas GraingerRefactor all event handlers (GH#6410) crusaderky
Fix dashboard favicon background (GH#6514) Jacob Tomlinson
Update dashboard logo (GH#6513) Jacob Tomlinson
Fix
test_stress_scatter_death
(GH#6404) Florian JetterRemove
CrossFilter
widget (GH#6484) crusaderkydata_needed
exclusively contains tasks in fetch state (GH#6481) crusaderkyAssert possible previous states (GH#6488) Florian Jetter
@fail_hard
can kill the whole test suite; hide errors (GH#6474) crusaderkyAssert that a fetch->cancelled->resumed->fetch cycle is impossible (GH#6460) crusaderky
Refactor busy workers reinsertion (GH#6379) crusaderky
Refactor
find_missing
andrefresh_who_has
(GH#6348) crusaderkyRename
test_collections.py
totest_dask_collections.py
(GH#6486) crusaderkyupdate_who_has
can remove workers (GH#6342) crusaderkyRestructure
test_watch_requires_lock_to_run
to avoid flakes (GH#6469) Hendrik MakaitFix intermittent
test_profile_plot
failure (GH#6456) Matthew RocklinUse
asyncio.run
to rungen_cluster
,gen_test
andcluster
(GH#6231) Thomas GraingerImprove tests that watch for subprocess logs (GH#6461) Gabe Joseph
2022.05.2¶
Released on May 26, 2022
Enhancements¶
Add a lock to
distributed.profile
for better concurrency control (GH#6421) Hendrik MakaitSend
SIGKILL
afterSIGTERM
when passing 95% memory (GH#6419) crusaderky
Bug Fixes¶
Log rather than raise exceptions in
preload.teardown()
(GH#6458) Matthew RocklinHandle failing
plugin.close()
calls during scheduler shutdown (GH#6450) Matthew RocklinGeneralize UCX errors on
connect()
and correct pytest fixtures (GH#6434) Peter Andreas EntschevRun cluster widget periodic callbacks on the correct event loop (GH#6444) Thomas Grainger
Maintenance¶
Disable
pytest-asyncio
if installed (GH#6436) Jacob TomlinsonClose client in sync test_actor tests (GH#6459) Thomas Grainger
Ignore
ServerSession.with_document_locked unawaited
(GH#6447) Thomas GraingerRemove
coverage
pin from Python 3.10 environment (GH#6439) Thomas GraingerAnnotate
remove_worker
(GH#6441) crusaderkyUpdate gpuCI
RAPIDS_VER
to22.08
(GH#6428)
2022.05.1¶
Released on May 24, 2022
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
andsafe
fromWorker.close
(GH#6423) Gabe JosephServer close faster (GH#6415) Florian Jetter
Disable HTTP API by default (GH#6420) Jacob Tomlinson
Remove
report
andsafe
fromWorker.close
(GH#6363) Florian JetterAllow deserialized plugins in
register_scheduler_plugin
(GH#6401) Matthew RocklinWorkerState
are different for different addresses (GH#6398) Florian JetterDo not filter tasks before gathering data (GH#6371) crusaderky
Remove worker reconnect (GH#6361) Gabe Joseph
Add
SchedulerPlugin.log_event handler
(GH#6381) Matthew RocklinEnsure occupancy tracking works as expected for long running tasks (GH#6351) Florian Jetter
stimulus_id
for allInstructions
(GH#6347) crusaderkyRefactor missing-data command (GH#6332) crusaderky
Add
idempotent
toregister_scheduler_plugin
client (GH#6328) Alex FordAdd option to specify a scheduler address for workers to use (GH#5944) Enric Tejedor
Bug Fixes¶
Remove stray
breakpoint
(GH#6417) Thomas GraingerFix API JSON MIME type (GH#6397) Jacob Tomlinson
Remove wrong
assert
in handle compute (GH#6370) Florian JetterEnsure multiple clients can cancel their key without interference (GH#6016) Florian Jetter
Fix
Nanny
shutdown assertion (GH#6357) Gabe JosephFix
fail_hard
for sync functions (GH#6269) Gabe JosephPrevent infinite transition loops; more aggressive
validate_state()
(GH#6318) crusaderkyEnsure cleanup of many GBs of spilled data on terminate (GH#6280) crusaderky
Fix
WORKER_ANY_RUNNING
regression (GH#6297) Florian JetterRace 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 deprecatedistributed.cli.utils
(GH#6367) Hendrik Makait
Documentation¶
Fix typos and whitespace in
worker.py
(GH#6326) Hendrik MakaitFix link to memory trimming documentation (GH#6317) Marco Wolsza
Maintenance¶
Make
gen_test
show up in VSCode test discovery (GH#6424) Gabe JosephWSMR /
deserialize_task
(GH#6411) crusaderkyRestore signal handlers after wait for signals is done (GH#6400) Thomas Grainger
fail_hard
should reraise (GH#6399) crusaderkyRevisit tests mocking
gather_dep
(GH#6385) crusaderkyFix flaky
test_in_flight_lost_after_resumed
(GH#6372) Florian JetterRestore install_signal_handlers due to downstream dependencies (GH#6366) Hendrik Makait
Improve
catch_unhandled_exceptions
(GH#6358) Gabe JosephRemove all invocations of
IOLoop.run_sync
from CLI (GH#6205) Hendrik MakaitRemove
transition-counter-max
from config (GH#6349) crusaderkyImprove
ensure_memoryview
test coverage & make minor fixes (GH#6333) jakirkhamRemove leaking reference to
workers
fromgen_cluster
(GH#6337) Hendrik MakaitPartial annotations for
stealing.py
(GH#6338) crusaderkyValidate and debug state machine on
handle_compute_task
(GH#6327) crusaderkyBump pyupgrade and clean up
# type: ignore
(GH#6293) crusaderkygen_cluster
to write to/tmp
(GH#6335) crusaderkyTransition table as a
ClassVar
(GH#6331) crusaderkySimplify
ensure_memoryview
test witharray
(GH#6322) jakirkhamRefactor
ensure_communicating
(GH#6165) crusaderkyReview scheduler annotations, part 2 (GH#6253) crusaderky
Use
w
forwriteable
branch inpickle_loads
(GH#6314) jakirkhamUse
ensure_memoryview
inarray
deserialization (GH#6300) jakirkhamEscape < > when generating Junit report (GH#6306) crusaderky
Minimize copying in
maybe_compress
&byte_sample
(GH#6273) jakirkhamSkip
test_release_evloop_while_spilling
on OSX (GH#6291) Florian JetterSimplify logic in
get_default_compression
(GH#6260) jakirkhamRe-enable NVML monitoring for WSL (GH#6119) Charles Blackmon-Luca
2022.05.0¶
Released on May 2, 2022
Highlights¶
This is a bugfix release for this issue.
Enhancements¶
Bug Fixes¶
Close executor in event loop if interpreter is closing (GH#6256) Matthew Rocklin
2022.04.2¶
Released on April 29, 2022
Enhancements¶
Unblock event loop while waiting for
ThreadpoolExecutor
to shut down (GH#6091) Florian JetterRetireWorker
policy is done if removed (GH#6234) Gabe JosephPause to disable dependency gathering (GH#6195) crusaderky
Add
EOFError
to nannymultiprocessing.queue
except list (GH#6213) Matthew RocklinRe-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) crusaderkySend 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 JetterAllow 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
Join
Nanny
watch thread (GH#6146) Matthew RocklinImprove 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
Documentation¶
Update
actors.rst
(GH#6167) Scott Sievert
Maintenance¶
Add
fail_hard
decorator for worker methods (GH#6210) Matthew RocklinDo not require
pytest_timeout
(GH#6224) Florian JetterRemove remaining
run_sync
calls from tests (GH#6196) Thomas GraingerIncrease test timeout if debugger is running (GH#6218) Florian Jetter
Do not list closes keyword in list of bullet points (GH#6219) Florian Jetter
Harmonize (GH#6161) and (GH#6173) (GH#6207) crusaderky
Xfail
test_worker_death_timeout
(GH#6186) Matthew RocklinUse random port in
test_dask_spec.py::test_text
(GH#6187) Matthew RocklinMark all websocket tests as flaky (GH#6188) Matthew Rocklin
Fix flaky
test_dont_steal_long_running_tasks
(GH#6197) crusaderkyCleanup names in stealing (GH#6185) Matthew Rocklin
log_errors
decorator (GH#6184) crusaderkyPass
mypy
validation on Windows (GH#6180) crusaderkyAdd
locket
as a dependency instead of vendoring (GH#6166) Michael AdkinsRemove unittestmock for
gather_dep
andget_data_from_worker
(GH#6172) Florian Jettermypy
tweaks (GH#6175) crusaderkyAvoid easy deprecated calls to
asyncio.get_event_loop()
(GH#6170) Thomas GraingerFix flaky
test_cancel_fire_and_forget
(GH#6099) crusaderkyRemove deprecated code (GH#6144) Matthew Rocklin
Update link of test badge (GH#6154) Florian Jetter
Remove legacy state mappings (GH#6145) Matthew Rocklin
Fix
test_worker_waits_for_scheduler
(GH#6155) Matthew RocklinDisallow leaked threads on windows (GH#6152) Thomas Grainger
Review annotations and docstrings in
scheduler.py
, part 1 (GH#6132) crusaderkyRelax
test_asyncprocess.py::test_simple
(GH#6150) Matthew RocklinDrop
cast
ing which is effectively a no-op (GH#6101) jakirkhamMark tests that use a specific port as flaky (GH#6139) Matthew Rocklin
AMM Suggestion namedtuples (GH#6108) crusaderky
2022.04.1¶
Released on April 15, 2022
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 RocklinLog state machine events (GH#6092) crusaderky
Migrate
ensure_executing
transitions to newWorkerState
event mechanism - part 1 (GH#6003) crusaderkyMigrate
ensure_executing
transitions to newWorkerState
event mechanism - part 2 (GH#6062) crusaderkyAnnotate 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
Maintenance¶
Avoid intermittent failure in
test_cancel_fire_and_forget
(GH#6131) Matthew RocklinIgnore
bokeh
warning in pytest (GH#6127) Matthew RocklinStart uncythonization (GH#6104) Martin Durant
Avoid redundant cleanup fixture in
gen_test
tests (GH#6118) Thomas GraingerMove
comm.close
to finally intest_comms
(GH#6109) Florian JetterUse
async
withServer
intest_core.py
(GH#6100) Matthew RocklinElevate warnings to errors in the test suite (GH#6094) Thomas Grainger
Add
urllib3
to nightly conda builds (GH#6102) James BourbeauDrop Blosc (GH#6027) Matthew Rocklin
Robust
test_get_returns_early
(GH#6090) Florian JetterOverhaul
test_priorities.py
(GH#6077) crusaderkyRemove
pytest-asyncio
(GH#6063) Thomas GraingerClean up usage around plain
rpc
(GH#6082) Florian JetterDrop OSX builds for Python 3.9 (GH#6073) Florian Jetter
Bump periods in
utils_test.wait_for
(GH#6081) Florian JetterCheck for ucx-py nightlies when updating gpuCI (GH#6006) Charles Blackmon-Luca
Type annotations for
profile.py
(GH#6067) crusaderkyFix flaky
test_worker_time_to_live
(GH#6061) crusaderkyFix flaky
test_as_completed_async_for_cancel
(GH#6072) crusaderkyFix regression in
test_weakref_cache
(GH#6033) crusaderkyTrivial fix to
test_nanny_worker_port_range
(GH#6070) crusaderkyDrop deprecated
tornado.netutil.ExecutorResolver
(GH#6031) Thomas GraingerDelete
asyncio.py
(GH#6066) Thomas GraingerTweak conda environment files (GH#6037) crusaderky
Harden
test_abort_execution_to_fetch
and more (GH#6026) crusaderkyFix
test_as_completed_with_results_no_raise
and namecomm
(GH#6042) Matthew RocklinUse more robust limits in
test_worker_memory
(GH#6055) Florian Jetter
2022.04.0¶
Released on April 1, 2022
Note
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 PerkinsTrack 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 RocklinMore idiomatic
mypy
configuration (GH#6022) crusaderkyName 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 JetterAdd title to individual plots (GH#5967) Matthew Rocklin
Specify average in timeseries titles (GH#5974) Matthew Rocklin
Bug Fixes¶
Do not catch
CancelledError
inCommPool
(GH#6005) Florian Jetter
Deprecations¶
Remove
distributed._ipython_utils
and dependents (GH#6036) Thomas GraingerRemove support for PyPy (GH#6029) James Bourbeau
Drop runtime dependency to setuptools (GH#6017) crusaderky
Remove heartbeats from events (GH#5989) Matthew Rocklin
Documentation¶
Mention default value of Client’s
timeout
(GH#5933) Eric EngestromUpdate celery and other outdated 3rd party URLs (GH#5988) Thomas Grainger
Maintenance¶
Improve
test_hardware
test (GH#6039) Matthew RocklinShort variant of test_report.html (GH#6034) crusaderky
Make
test_reconnect
async (GH#6000) Matthew RocklinUpdate gpuCI
RAPIDS_VER
to22.06
(GH#5962)Add tiny test for
ToPickle
(GH#6021) Matthew RocklinRemove
check_python_3
(broken withclick>=8.1.0
) (GH#6018) Thomas GraingerFix black in CI (GH#6019) crusaderky
Add a hardware benchmark to test memory, disk, and network bandwidths (GH#5966) Matthew Rocklin
Relax variable
test_race
(GH#5993) Matthew RocklinSkip
dask-ssh
tests withoutparamiko
(GH#5907) Elliott Sales de AndradeRemove
test_restart_sync_no_center
(GH#5994) Matthew RocklinSet lower tick frequency in tests (GH#5977) Matthew Rocklin
Catch
NotADirectoryError
inSafeTemporaryDirectory
(GH#5984) Florian JetterFix flaky
test_weakref_cache
(GH#5978) crusaderkyFixup
test_worker_doesnt_await_task_completion
(GH#5979) Matthew RocklinUse broader range in
test_nanny_worker_port_range
(GH#5980) Matthew RocklinUse
tempfile
directory in clusterfixture
(GH#5825) Florian Jetter
2022.03.0¶
Released on March 18, 2022
New Features¶
Support dumping cluster state to URL (GH#5863) Gabe Joseph
Enhancements¶
Prevent data duplication on unspill (GH#5936) crusaderky
Encapsulate spill buffer and memory_monitor (GH#5904) crusaderky
Drop
pkg_resources
in favour ofimportlib.metadata
(GH#5923) Thomas GraingerWorker State Machine refactor: redesign
TaskState
and scheduler messages (GH#5922) crusaderkyTidying of OpenSSL 1.0.2/Python 3.9 (and earlier) handling (GH#5854) jakirkham
zict
type annotations (GH#5905) crusaderkyAdd key to compute failed message (GH#5928) Florian Jetter
Change default log format to include timestamp (GH#5897) Florian Jetter
Improve type annotations in worker.py (GH#5814) crusaderky
Bug Fixes¶
Fix
progress_stream
teardown (GH#5823) Thomas GraingerHandle concurrent or failing handshakes in
InProcListener
(GH#5903) Thomas GraingerMake
log_event
threadsafe (GH#5946) Gabe Joseph
Documentation¶
Fixes to documentation regarding plugins (GH#5940) crendoncoiled
Some updates to scheduling policies docs (GH#5911) Gabe Joseph
Maintenance¶
Fix
test_nanny_worker_port_range
hangs on Windows (GH#5956) crusaderky(REVERTED) Unblock event loop while waiting for ThreadpoolExecutor to shut down (GH#5883) Florian Jetter
Revert GH#5883 (GH#5961) crusaderky
Invert
event_name
check intest-report
job (GH#5959) jakirkhamOnly run
gh-pages
workflow ondask/distributed
(GH#5942) jakirkhamabsolufy-imports
- No relative imports - PEP8 (GH#5924) Florian JetterFix
track_features
for distributed pre-releases (GH#5927) Charles Blackmon-LucaXfail
test_submit_different_names
(GH#5916) Florian JetterFix
distributed
pre-release’sdistributed-impl
constraint (GH#5867) Charles Blackmon-LucaMock process memory readings in test_worker.py (v2) (GH#5878) crusaderky
Drop unused
_round_robin
global variable (GH#5881) jakirkhamAdd GitHub URL for PyPi (GH#5886) Andrii Oriekhov
Mark
xfail
COMPILED testsskipif
instead (GH#5884) Florian Jetter
2022.02.1¶
Released on February 25, 2022
New Features¶
Add the ability for
Client
to runpreload
code (GH#5773) Bryan W. Weber
Enhancements¶
Optionally use NumPy to allocate buffers (GH#5750) jakirkham
Add git hash to
distributed-impl
version (GH#5865) Charles Blackmon-LucaImmediately raise exception when trying to connect to a closed cluster (GH#5855) Florian Jetter
Lazily get
dask
version information (GH#5822) Thomas GraingerRemove the requirements to add
comm
to every handler (GH#5820) Florian JetterRaise on unclosed comms in
check_instances
(GH#5836) Florian JetterPython 3.8 f-strings (GH#5828) crusaderky
Constrained spill (GH#5543) Naty Clementi
Measure actual spilled bytes, not output of
sizeof()
(GH#5805) crusaderkyRemove redundant
str()
conversions (GH#5810) crusaderkyCluster dump now excludes
run_spec
by default (GH#5803) Florian JetterDump more objects with
dump_cluster_state
(GH#5806) crusaderkyDo not connect to any sockets on import (GH#5808) Florian Jetter
Bug Fixes¶
Avoid deadlock when two tasks are concurrently waiting for an unresolved
ActorFuture
(GH#5709) Thomas Grainger
Deprecations¶
Drop Python 3.7 (GH#5683) James Bourbeau
Remove support for UCX < 1.11.1 (GH#5859) Peter Andreas Entschev
Documentation¶
Fix typo in memory types documentation relative links (GH#5845) James Bourbeau
Document and test spill->target hysteresis cycle (GH#5813) crusaderky
Maintenance¶
Fix flaky
test_remove_replicas_while_computing
(GH#5860) crusaderkyFix time based
test_assert_worker_story_malformed_story
parameterize (GH#5856) Thomas GraingerRemove
xfail
fromtest_no_unnecessary_imports_on_worker
(GH#5862) crusaderkyStart building pre-releases with cythonized scheduler (GH#5831) Charles Blackmon-Luca
Do not mark tests
xfail
if they don’t come up in time (GH#5824) Florian JetterUse
gen_cluster
where possible intest_dask_worker.py
(GH#5842) Florian JetterGenerate junit report when
pytest-timeout
killspytest
(GH#5832) crusaderkyDecrease timeout-minutes for GHA jobs (GH#5837) Florian Jetter
Fix some timeouts (GH#5647) Florian Jetter
Bump pre-release version to be greater than stable releases (GH#5816) Charles Blackmon-Luca
Do not run schedule jobs on forks (GH#5821) Florian Jetter
Remove
pillow<9
pin in CI (GH#5775) Thomas GraingerAdd obvious exclusions with pragma statement (GH#5801) Sarah Charlotte Johnson
Add coverage exclusions for cli files (GH#5800) Sarah Charlotte Johnson
Add pragma statements (GH#5749) Sarah Charlotte Johnson
Remove pragma: no cover from
distributed.cli.dask_ssh
(GH#5809) Thomas GraingerAdd pragma - worker.py, client.py, stealing.py (GH#5827) Sarah Charlotte Johnson
Relax
distributed
/dask-core
dependencies for pre-releases (GH#5802) Charles Blackmon-LucaRemove
test_ucx_config_w_env_var
flaky condition (GH#5765) Peter Andreas Entschev
2022.02.0¶
Released on February 11, 2022
Note
This is the last release with support for Python 3.7
Enhancements¶
Update
client.scheduler_info
inwait_for_workers
(GH#5785) Matthew RocklinIncrease robustness to
TimeoutError
during connect (GH#5096) Florian JetterRespect
KeyboardInterrupt
insync
(GH#5758) Thomas GraingerAdd workflow / recipe to generate Dask/distributed pre-releases (GH#5636) Charles Blackmon-Luca
Review
Scheduler
/Worker
display repr (GH#5746) crusaderkyAMM: Graceful Worker Retirement (GH#5381) crusaderky
AMM: tentatively stabilize flaky tests around worker pause (GH#5735) crusaderky
AMM: speed up and stabilize test_memory (GH#5737) crusaderky
Defer pandas import on worker in P2P shuffle (GH#5695) Gabe Joseph
Bug Fixes¶
Fix for
distributed.worker.memory.target=False
andspill=0.7
(GH#5788) crusaderkyTransition
flight
tomissing
if nowho_has
(GH#5653) Florian Jetter
Deprecations¶
Remove deprecated
ncores
(GH#5780) crusaderkyDeprecate registering plugins by class (GH#5699) Thomas Grainger
Deprecate
--nprocs
option fordask-worker
CLI (GH#5641) Bryan W. Weber
Documentation¶
Fix imbalanced backticks (GH#5784) Matthias Bussonnier
Maintenance¶
xfail
test_worker_reconnects_mid_compute
(GH#5797) crusaderkyFix linting CI build (GH#5794) James Bourbeau
Update
pre-commit
versions (GH#5782) James BourbeauReactivate
pytest_resourceleaks
(GH#5771) crusaderkySet test assumption for
test_client_timeout
(GH#5790) Florian JetterRemove client timeout from
test_ucx_config_w_env_var
(GH#5792) Florian JetterRemove
test_failed_worker_without_warning
(GH#5789) Florian JetterFix flaky
test_robust_to_bad_sizeof_estimates
(GH#5753) crusaderkyRevert “Pin coverage to 6.2 (GH#5716)” (GH#5770) Thomas Grainger
Trigger test runs periodically to increases failure statistics (GH#5769) Florian Jetter
Pin
pillow<9
to work aroundtorch
incompatibility (GH#5755) Thomas GraingerOverhaul
check_process_leak
(GH#5739) crusaderkyFix flaky
test_exit_callback test
(GH#5713) Jim Crist-HarifGenerate tests summary (GH#5710) crusaderky
Upload different architectured pre-releases separately (GH#5741) Charles Blackmon-Luca
Ignore non-test directories (GH#5720) Gabe Joseph
Bump gpuCI
PYTHON_VER
to 3.9 (GH#5738) Charles Blackmon-LucaRegression: threads noted down before they start (GH#5796) crusaderky
2022.01.1¶
Released on January 28, 2022
New Features¶
P2P shuffle skeleton (GH#5520) Gabe Joseph
Enhancements¶
Fix
<Task pending name='...' coro=<Client._handle_report()>
(GH#5721) Thomas GraingerAdd
distributed.client.security-loader
config (GH#5693) Jim Crist-HarifAvoid
Client._handle_report
cancelling itself onClient._close
(GH#5672) Thomas GraingerPaused workers shouldn’t steal tasks (GH#5665) crusaderky
Add option for timestamps from output of
Node.get_logs
(GH#4932) Charles Blackmon-LucaDon’t use
time.time()
orIOLoop.time()
(GH#5661) crusaderky
Bug Fixes¶
Raise plugin exceptions on
Worker.start()
(GH#4298) Peter Andreas Entschev
Documentation¶
Fixing docstrings (GH#5696) Julia Signell
Fix typo in
Client.run
docstring (GH#5687) Thomas GraingerUpdate
client.py
docstrings (GH#5670) Tim Harris
Maintenance¶
Skip shuffle tests if
pandas
/dask.dataframe
not installed (GH#5730) James BourbeauImprove test coverage (GH#5655) Sarah Charlotte Johnson
P2P shuffle: ignore row order in tests (GH#5706) Gabe Joseph
Fix flaky
test_no_reconnect[--no-nanny]
(GH#5686) Thomas GraingerPin coverage to 6.2 (GH#5716) Thomas Grainger
Check for new name of timeouts artifact and be more fault tolerant (GH#5707) Ian Rose
Revisit rebalance unit tests (GH#5697) crusaderky
Update comment in
rearrange_by_column_p2p
(GH#5701) James BourbeauUpdate gpuCI
RAPIDS_VER
to22.04
(GH#5676)Fix groupby test after meta requirements got stricter in Dask PR#8563 (GH#5694) Julia Signell
Fix flaky
test_close_gracefully
andtest_lifetime
(GH#5677) crusaderkyFix flaky
test_workspace_concurrency
(GH#5690) crusaderkyFix flaky
test_shuffle_extension.py::test_get_partition
(GH#5689) Gabe JosephFix flaky
test_dump_cluster_unresponsive_remote_worker
(GH#5679) crusaderkyDump cluster state on all test failures (GH#5674) crusaderky
Update license format (GH#5652) James Bourbeau
Fix flaky
test_drop_with_paused_workers_with_running_tasks_3_4
(GH#5673) crusaderkyDo not raise an exception if the GitHub token cannot be found (GH#5668) Florian Jetter
2022.01.0¶
Released on January 14, 2022
New Features¶
Support configuring TLS min/max version (GH#5594) Jim Crist-Harif
Use asyncio for TCP/TLS comms (GH#5450) Jim Crist-Harif
Enhancements¶
Close comm on
CancelledError
(GH#5656) crusaderkyDon’t drop from the only running worker (GH#5626) crusaderky
Transfer priority (GH#5625) crusaderky
Add RPC call for getting task prefixes (GH#5617) Benjamin Zaitlen
Long running occupancy (GH#5395) Florian Jetter
Handle errors on individual workers in
run
/broadcast
(GH#5590) crusaderkyAllow work stealing in case there are heterogeneous resources for thief and victim (GH#5573) Florian Jetter
Disable NVML monitoring on WSL (GH#5568) Charles Blackmon-Luca
Bug Fixes¶
Ensure uniqueness of steal stimulus ID (GH#5620) Florian Jetter
Fix
KeyError: 'startstops'
in performance report (GH#5608) Gabe JosephStory timestamps can be slightly in the future (GH#5612) crusaderky
Prevent
RecursionError
inWorker._to_dict
(GH#5591) crusaderkyEnsure distributed can be imported in thread (GH#5593) Jim Crist-Harif
Documentation¶
Fix changelog section hyperlinks (GH#5638) Aneesh Nema
Fix typo in
unpublish_dataset
example invocation (GH#5615) Deepyaman DattaFix typo in test report badge in
README
(GH#5586) James Bourbeau
Maintenance¶
Cosmetic changes to
distributed.comm
(GH#5657) crusaderkyConsolidate broken comm testing utilities (GH#5654) James Bourbeau
Fix concurrency assumptions for
test_worker_reconnects_mid_compute
(GH#5623) Florian JetterHandle Bokeh 3.0 CDSView change (GH#5643) Bryan Van de Ven
Use
packaging
rather thandistutils
to get version (GH#5624) Julia SignellXFAIL tls explicit comm close test on py3.7 (GH#5639) Jim Crist-Harif
Mark some additional ucx-py tests for GPU (GH#5603) Charles Blackmon-Luca
Rename
ensure_default_get
and add test (GH#5609) Naty ClementiRemove
render_mode
kwarg
fromboekh
LabelSets
(GH#5616) Garry O’DonnellAdd lambda support to
assert_worker_story
(GH#5618) crusaderkyIgnore file not found warning for timeout artifact (GH#5619) Florian Jetter
Improved cluster state dump in
@gen_cluster
(GH#5592) crusaderkyWork around SSL failures on MacOS CI (GH#5606) crusaderky
Bump gpuCI
CUDA_VER
to 11.5 (GH#5604) Charles Blackmon-Lucaassert_worker_story
(GH#5598) crusaderkydistributed.versions
code refresh (GH#5600) crusaderkyUpdates to gpuCI and
test_ucx_config_w_env_var
(GH#5595) James BourbeauReplace blacklist/whitelist with blocklist/allowlist (GH#5589) crusaderky
AMM: cosmetic tweaks (GH#5584) crusaderky
2021.12.0¶
Released on December 10, 2021
Enhancements¶
Support pytest fixures and parametrize with
gen_test
(GH#5532) Fábio RosadoAllow 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 usingSSHCluster
(GH#5535) Fábio RosadoAllow
None
in UCX configuration schema (GH#5534) Fábio RosadoAdd
distributed.comm.ucx.create-cuda-context
config (GH#5526) Peter Andreas Entschev
Bug fixes¶
Allow unknown tasks to be stolen (GH#5572) Florian Jetter
Further
RecursionError
fixes inrecursive_to_repr
(GH#5579) crusaderkyRevisit
recursive_to_dict
(GH#5557) crusaderkyHandle
UCXUnreachable
exception (GH#5556) Peter Andreas Entschev
Documentation¶
Separate
Coordination
section in API docs (GH#5412) Gabe JosephImproved documentation for processing state and paused workers (GH#4985) Maximilian Roos
Fix typo in
TaskGroupGraph.update_layout
comment (GH#5536) Hristo GeorgievUpdate documentation for
register_worker_plugin
(GH#5533) crusaderky
Maintenance¶
Mark
test_gpu_monitoring_recent
as flaky (GH#5540) Peter Andreas EntschevAwait worker arrival in SSH
test_nprocs
(GH#5575) James BourbeauAMM: Test that acquire-replicas of a task already in flight is a no-op (GH#5566) crusaderky
Make sure artifacts are tagged with CI partition so they don’t race and overwrite each other (GH#5571) Ian Rose
Minor refactoring and commentary in worker state machine (GH#5563) Florian Jetter
Fix
test_ucx_unreachable
on UCX < 1.12 (GH#5562) Peter Andreas EntschevBump Bokeh min version to 2.1.1 (GH#5548) Bryan Van de Ven
Update
gen_test
tests to be more robust (GH#5551) James BourbeauSkip
test_ucx_unreachable
ifUCXUnreachable
is unavailable (GH#5560) Peter Andreas EntschevUpdate gpuCI
RAPIDS_VER
to22.02
(GH#5544)Add workflow to automate gpuCI updates (GH#5541) Charles Blackmon-Luca
Actually support
uvloop
in distributed (GH#5531) Jim Crist-HarifStandardize UCX config separator to
-
(GH#5539) Peter Andreas Entschev
2021.11.2¶
Released on November 19, 2021
Ensure cancelled error transition can properly release a key (GH#5528) Florian Jetter
Refactor release key (GH#5507) Florian Jetter
Fix deadlock caused by an erred task (executing->cancelled->error) (GH#5503) Florian Jetter
Resolve
KeyError
-related deadlock (GH#5525) Florian JetterRemove extra quotation in worker failure docs (GH#5518) James Bourbeau
Ensure
safe_sizeof
warning is accurate (GH#5519) James BourbeauVisualize cluster-wide memory usage over time (GH#5477) crusaderky
AMM: redesign start/stop methods (GH#5476) crusaderky
Preserve
contextvars
during comm offload (GH#5486) Gabe JosephDeserialization: zero-copy merge subframes when possible (GH#5208) Gabe Joseph
Add support for multiple workers per SSH connection (GH#5506) Jacob Tomlinson
Client method to dump cluster state (GH#5470) Florian Jetter
2021.11.1¶
Released on November 8, 2021
Revert “Avoid multiple blocking calls by gathering UCX frames” (GH#5505) Peter Andreas Entschev
2021.11.0¶
Released on November 5, 2021
Fix
cluster_info
sync handling (GH#5488) Jim Crist-HarifSerialization family to preserve headers of the underlying dumps functions (GH#5380) Mads R. B. Kristensen
Point users to Discourse (GH#5489) James Bourbeau
Avoid multiple blocking calls by gathering UCX frames (GH#5487) Peter Andreas Entschev
Update all UCX tests to use
asyncio
marker (GH#5484) Peter Andreas EntschevRegister UCX close callback (GH#5474) Peter Andreas Entschev
Use older version of
pynvml.nvmlDeviceGetComputeRunningProcesses
(GH#5469) Jacob TomlinsonCheck for Futures from the wrong
Client
ingather
(GH#5468) Gabe JosephFix
performance_report
when used with%%time
or%%timeit
magic (GH#5463) Erik WelchScatter and replicate to avoid paused workers (GH#5441) crusaderky
AMM to avoid paused workers (GH#5440) crusaderky
Update changelog with
LocalCluster
host security note (GH#5462) Jim Crist-Harif
2021.10.0¶
Released on October 22, 2021
Note
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.
Ensure resumed flight tasks are still fetched (GH#5426) Florian Jetter
AMM high level documentation (GH#5456) crusaderky
Provide stack for suspended coro in test timeout (GH#5446) Florian Jetter
Handle
UCXNotConnected
error (GH#5449) Peter Andreas EntschevDon’t schedule tasks to paused workers (GH#5431) crusaderky
Use
pip install .
instead of callingsetup.py
(GH#5442) Matthias BussonnierIncrease latency for stealing (GH#5390) Florian Jetter
Type annotations for
Worker
andgen_cluster
(GH#5438) crusaderkyEnsure reconnecting workers do not loose required data (GH#5436) Florian Jetter
Mark
test_gather_dep*
asxfail
(GH#5432) crusaderkyRemove
zict
-related skips (GH#5429) James BourbeauPass
host
throughLocalCluster
to workers (GH#5427) Jim Crist-HarifFixes
async
warnings in UCX tests (GH#5396) Peter Andreas EntschevResolve work stealing deadlock caused by race in
move_task_confirm
(GH#5379) Florian JetterAdd scroll to dashboard dropdown (GH#5418) Jacob Tomlinson
Fix regression where unknown tasks were allowed to be stolen (GH#5392) Florian Jetter
Enable
mypy
in CI 2/2 (GH#5348) crusaderkyRewrite
test_client_timeout
(GH#5397) crusaderkyDo not attempt to fetch keys which are no longer in flight (GH#5160) Florian Jetter
Revisit
Scheduler.add_plugin
/Scheduler.remove_plugin
(GH#5394) crusaderkyFix flaky
test_WorkerPlugin_overwrite
(GH#5398) crusaderkyActive Memory Manager to use bulk comms (GH#5357) crusaderky
Add coverage badge to
README
(GH#5382) James BourbeauMark
test_stress_creation_and_deletion
asxfail
(GH#5393) James BourbeauMark
test_worker_reconnects_mid_compute*
tests as flaky (GH#5378) James BourbeauUse new Dask docs theme (GH#5391) Jacob Tomlinson
Remove
pytest.mark.repeat
fromtest_prometheus_collect_task_states
(GH#5376) James BourbeauLog original exception upon compute failure (GH#5387) Florian Jetter
Add code coverage (GH#4670) James Bourbeau
Fix zombie worker tasks after missing transition (GH#5316) Florian Jetter
Add support for partial functions to
iscoroutinefunction
util (GH#5344) Michael AdkinsMark
distributed/tests/test_client.py::test_profile_server
as flaky (GH#5375) James BourbeauEnable
mypy
in CI 1/2 (GH#5328) crusaderkyEnsure
dask-worker
anddask-scheduler
pick up preload configuration values (GH#5365) James BourbeauUse
dask-spec
forSSHCluster
(GH#5191) Charles Blackmon-LucaUpdate
_cluster_info
dict in__init__
(GH#5305) Jacob TomlinsonUse Dask temporary file utility (GH#5361) James Bourbeau
Avoid deprecated random set sampling (GH#5360) James Bourbeau
Add check for unsupported NVML metrics (GH#5343) Charles Blackmon-Luca
Workers submit a reply to the scheduler if replica removal was rejected (GH#5356) Florian Jetter
Pickle exception and traceback immediately (GH#5338) Mads R. B. Kristensen
Reinstate: AMM
ReduceReplicas
to iterate only on replicated tasks (GH#5341) crusaderkySync worker status to the scheduler; new ‘paused’ status (GH#5330) crusaderky
Worker State Machine Refactor: clean up dead handlers (GH#5359) crusaderky
Bump
RAPIDS_VER
for gpuCI (GH#5358) Charles Blackmon-LucaGenerate Cython HTML annotations (GH#5321) crusaderky
Worker state machine refactor (GH#5046) Florian Jetter
fsspec
ands3fs
git tips are incompatible (GH#5346) crusaderkyFix
test_many_Progress
and others (GH#5329) crusaderkyRun multiple AMMs in parallel (GH#5339) crusaderky
Enhance AMM docstrings (GH#5340) crusaderky
Run
pyupgrade
in CI (GH#5327) crusaderkyFix typo in client side example
foundations.rst
(GH#5336) Genevieve Buckley
2021.09.1¶
Released on September 21, 2021
Revert AMM
ReduceReplicas
and parallel AMMs updates (GH#5335) James BourbeauRun multiple AMMs in parallel (GH#5315) crusaderky
AMM
ReduceReplicas
to iterate only on replicated tasks (GH#5297) crusaderkyAdd type annotations to various functions within
distributed.worker
(GH#5290) Tom ForbesMark
test_ucx_config_w_env_var
flaky on UCX < 1.11 (GH#5262) Peter Andreas EntschevWarn if CUDA context is created on incorrect device in UCX (GH#5308) Peter Andreas Entschev
Remove redundant timeouts from
test_client
(GH#5314) crusaderkyAllow
Client
to subscribe to events // Remote printing and warning (GH#5217) Florian JetterIncrease timeout for
test_worker_reconnects_mid_compute_multiple_states_on_scheduler
(GH#5304) Florian JetterAdd synced dict between cluster and scheduler to store cluster info (GH#5033) Jacob Tomlinson
Update
test_sub_submit_priority
(GH#5301) James BourbeauRevert “Add test setup fixture (GH#5242)” (GH#5300) James Bourbeau
Fix flaky
test_worker_reconnects_mid_compute
(GH#5299) Florian JetterUse
gen_test
intest_adaptive
(GH#5298) crusaderkyIncrease
worker.suspicious_counter
threshold (GH#5228) Florian JetterActive Memory Manager framework + discard excess replicas (GH#5111) crusaderky
Add test setup fixture (GH#5242) James Bourbeau
2021.09.0¶
Released on September 3, 2021
Fix
add_plugin
warnings (GH#5267) Doug DavisAdd
list
around iterator inhandle_missing_dep
(GH#5285) Matthew RocklinReplace
atop
withblockwise
(GH#5289) James BourbeauAdd pytest color to CI (GH#5276) James Bourbeau
Fix
test_map
and others (GH#5278) crusaderkyUse
name
argument withScheduler.remove_plugin
calls (GH#5260) Doug DavisDowngrade to
jupyter_client
6 (GH#5273) crusaderkyMigrate
Security
HTML repr to Jinja2 (GH#5264) Jacob TomlinsonMigrate
ProcessInterface
HTML repr to Jinja2 (GH#5263) Jacob TomlinsonAdd support for diskless machines to system monitor (GH#5257) James Bourbeau
Avoid during-iteration scheduler plugin changes (GH#5259) Doug Davis
Remove
GroupProgress
scheduler plugin (GH#5256) James BourbeauProperly check for ipv6 availability (GH#5255) crusaderky
Improved IPv6 dask-worker support (GH#5197) Walt Woods
Overwrite worker plugins (GH#5248) Matthew Rocklin
Refactor scheduler plugins; store in a dictionary (GH#5120) Doug Davis
Fix “then” -> “than” typo in docs (GH#5247) David Chudzicki
Fix typo (remove extra verb “creates”) in docs (GH#5244) David Chudzicki
Fix “fractiom” -> “fraction” typo in docstring (GH#5245) David Chudzicki
Fix “schedulers” -> “scheduler” typo in docs (GH#5246) David Chudzicki
Use non-histogram plots up to 100 workers (GH#5249) Matthew Rocklin
2021.08.1¶
Released on August 20, 2021
Rename plots to fit in the labextension (GH#5239) Naty Clementi
Log messages for
CommClosedError
now includes information about remote address (GH#5209) Florian JetterAdd
target='_blank'
for redirects of dashboard link (GH#5237) Naty ClementiUpdate computation code retrieval logic (GH#5236) James Bourbeau
Minor polish on cfexecutor (GH#5233) crusaderky
Use development version of
dask
in gpuCI build (GH#5232) James BourbeauUse upstream
dask.widgets
(GH#5205) Jacob TomlinsonFix flaky
test_worker_reconnects_mid_compute
(GH#5227) Florian JetterUpdate
WorkerPlugin
docstring about usage ofTaskState
objects (GH#5226) Florian JetterWorker Network Timeseries (GH#5129) Naty Clementi
Add HTML Repr for
ProcessInterface
class and all its subclasses (GH#5181) Freyam MehtaFix an issue where a reconnecting worker could cause an invalid transition (GH#5210) Florian Jetter
Minor fixes for cfexecutor (GH#5177) Florian Jetter
Add HTML Repr for
Security
class (GH#5178) Freyam MehtaDrop RMM compatibility code from RAPIDS < 0.11 (GH#5214) Peter Andreas Entschev
2021.08.0¶
Released on August 13, 2021
Include addresses in closed comm repr (GH#5203) James Bourbeau
Test
nanny.environ
precedence (GH#5204) Florian JetterMigrating HTML reprs to jinja2 (GH#5188) Jacob Tomlinson
Fix
test_process_executor_kills_process
flakyness (GH#5183) crusaderkyRemove
urllib3
as a dependency downloading preloads (GH#5199) Marcos MoyanoDownload preload urls in the
Preload
constructor (GH#5194) Marcos MoyanoAvoid recursion error in
profile.merge
(GH#5195) Matthew RocklinAdd text exceptions to the
Scheduler
(GH#5148) Matthew RocklinUse
kwarg
forTheme
filename (GH#5190) Bryan Van de VenAdd a
.git-ignore-revs
file (GH#5187) Florian JetterReplace
not not
withbool()
(GH#5182) Jacob TomlinsonResolve deadlock cause by transition error after fetching dependency (GH#5157) Florian Jetter
Set z-index of data-table lower (GH#5175) Julia Signell
Add
no-worker
-memory
transition to scheduler (GH#5174) Florian JetterDeprecate worker plugin overwrite policy (GH#5146) James Bourbeau
Fix flaky tests in CI (GH#5168) crusaderky
Instructions for jemalloc with brew on macOS (GH#4996) Gabe Joseph
Bump
RAPIDS_VER
to 21.10 (GH#5165) Charles Blackmon-LucaTweak verbiage around
async
functions (GH#5166) crusaderkyUse Python 3
super()
calls (GH#5167) crusaderkySupport asynchronous tasks (GH#5151) Matthew Rocklin
Rename total comm bytes and provide doc string (GH#5155) Florian Jetter
Add GPU executor if GPU is present (GH#5123) Matthew Rocklin
Fix RMM and UCX tests (GH#5158) Peter Andreas Entschev
Remove excessive timeout of
test_steal_during_task_deserialization
(GH#5156) Florian JetterAdd gpuCI build script (GH#5147) Charles Blackmon-Luca
Demote
Worker.ensure_computing
to function (GH#5153) Florian Jetter
2021.07.2¶
Released on July 30, 2021
Fix a deadlock connected to task stealing and task deserialization (GH#5128) Florian Jetter
Include maximum shard size in second
to_frames
method (GH#5145) Matthew RocklinMinor dashboard style updates (GH#5143) Bryan Van de Ven
Cap maximum shard size at the size of an integer (GH#5141) Matthew Rocklin
Document automatic
MALLOC_TRIM_THRESHOLD_
environment variable (GH#5139) James BourbeauMark
ucx-py
tests for GPU (GH#5133) Charles Blackmon-LucaUpdate individual profile plot sizing (GH#5131) James Bourbeau
Handle
NVMLError_Unknown
in NVML diagnostics (GH#5121) Peter Andreas EntschevUnit tests to use a random port for the dashboard (GH#5060) crusaderky
Ensure worker reconnect registers existing tasks properly (GH#5103) Florian Jetter
Halve CI runtime! (GH#5074) crusaderky
Add
NannyPlugins
(GH#5118) Matthew RocklinAdd
WorkerNetworkBandwidth
chart to dashboard (GH#5104) Naty ClementiSet nanny environment variables in config (GH#5098) Matthew Rocklin
Read smaller frames to workaround OpenSSL bug (GH#5115) jakirkham
Move UCX/RMM config variables to Distributed namespace (GH#4916) Charles Blackmon-Luca
Allow ws(s) messages greater than 10Mb (GH#5110) Marcos Moyano
Short-circuit root-ish check for many deps (GH#5113) Gabe Joseph
2021.07.1¶
Released on July 23, 2021
Remove experimental feature warning from actors docs (GH#5108) James Bourbeau
Keep dependents in worker dependency if TS is still known (GH#5034) Florian Jetter
Add
Scheduler.set_restrictions
(GH#5101) Matthew RocklinMake
Actor
futures awaitable and work withas_completed
(GH#5092) Martin DurantSimplify
test_secede_balances
(GH#5071) Florian JetterComputation
class (GH#5001) Florian JetterSome light dashboard cleanup (GH#5102) Bryan Van de Ven
Don’t package tests (GH#5054) James Bourbeau
Add pytest marker for GPU tests (GH#5023) Charles Blackmon-Luca
Actor: don’t hold key references on workers (GH#4937) Gabe Joseph
Collapse nav to hamburger sooner (GH#5094) Julia Signell
Verify that actors survive pickling (GH#5086) Matthew Rocklin
Reenable UCX-Py tests that used to segfault (GH#5076) Peter Andreas Entschev
Better support
ProcessPoolExecutors
(GH#5063) Matthew RocklinSimplify
test_worker_heartbeat_after_cancel
(GH#5067) Florian JetterAvoid property validation in Bokeh (GH#5065) Matthew Rocklin
Reduce default websocket frame size and make configurable (GH#5070) Ian Rose
Disable pytest-timeout
SIGALARM
on MacOS (GH#5057) crusaderkyrebalance()
resilience to computations (GH#4968) crusaderkyImprove CI stability (GH#5022) crusaderky
Ensure heartbeats after cancelation do not raise
KeyError
s (GH#5053) Florian JetterAdd more useful exception message on TLS cert mismatch (GH#5040) Jacob Tomlinson
Add bokeh
mode
parameter to performance reports (GH#5025) James Bourbeau
2021.07.0¶
Released on July 9, 2021
Fix Nbytes jitter - less expensive (GH#5043) Naty Clementi
Use native GH actions cancel feature (GH#5037) Florian Jetter
Don’t require workers to report to scheduler if scheduler shuts down (GH#5032) Florian Jetter
Add pandas to the list of checked packages for
client.get_versions()
(GH#5029) Ian RoseMove worker preload before scheduler address is set (GH#5024) Matthew Rocklin
Fix flaky
test_oversubscribing_leases
(GH#5030) Florian JetterUpdate scheduling policy docs for #4967 (GH#5018) Gabe Joseph
Add echo handler to
Server
class (GH#5020) Matthew RocklinFix worker memory dashboard flickering (GH#4997) Naty Clementi
Tabs on bottom left corner on dashboard (GH#5006) Naty Clementi
Rename nbytes widgets (GH#4878) crusaderky
Co-assign root-ish tasks (GH#4967) Gabe Joseph
OSError
tweaks (GH#5003) crusaderkyUpdate imports to
cudf.testing._utils
(GH#5005) Peter Andreas EntschevEnsure shuffle split default durations uses proper prefix (GH#4991) Florian Jetter
Follow up
pyupgrade
formatting (GH#4993) Florian JetterRename plot dropdown (GH#4992) James Bourbeau
Pyupgrade (GH#4741) Florian Jetter
Misc Sphinx tweaks (GH#4988) crusaderky
No longer hold dependencies of erred tasks in memory #4918 Florian Jetter
Add maximum shard size to config (GH#4986) Matthew Rocklin
Ensure shuffle split operations are blacklisted from work stealing (GH#4964) Florian Jetter
Add dropdown menu to access individual plots (GH#4984) Jacob Tomlinson
Edited the path to
scheduler.py
(GH#4983) Freyam MehtaTask Group Graph Visualization (GH#4886) Naty Clementi
Remove more internal references to deprecated utilities (GH#4971) James Bourbeau
Restructure nbytes hover (GH#4952) Naty Clementi
Except more errors in
pynvml.nvmlInit()
(GH#4970) gerrymanoimAdd occupancy as individual plot (GH#4963) Naty Clementi
Deprecate utilities which have moved to dask (GH#4966) James Bourbeau
Ensure connectionpool does not leave comms if closed mid connect (GH#4951) Florian Jetter
Add support for registering scheduler plugins from Client (GH#4808) Doug Davis
Stealing dashboard fixes (GH#4948) Florian Jetter
Allow requirements verification to be ignored when loading backends from entrypoints (GH#4961) Florian Jetter
Add
Log
andLogs
to API docs (GH#4946) James BourbeauSupport fixtures and
pytest.mark.parametrize
withgen_cluster
(GH#4958) Gabe Joseph
2021.06.2¶
Released on June 22, 2021
Revert refactor to
utils.Log[s]
andCluster.get_logs
(GH#4941) Charles Blackmon-LucaUse deprecation utility from Dask (GH#4924) James Bourbeau
Add transition counter to
Scheduler
(GH#4934) Matthew RocklinRemove
nbytes_in_memory
(GH#4930) Matthew Rocklin
2021.06.1¶
Released on June 18, 2021
Fix deadlock in
handle_missing_dep
if additional replicas are available (GH#4929) Florian JetterAdd configuration to enable/disable NVML diagnostics (GH#4893) Peter Andreas Entschev
Add scheduler log tab to performance reports (GH#4909) Charles Blackmon-Luca
Add HTML repr to
scheduler_info
and incorporate into client and cluster reprs (GH#4857) Jacob TomlinsonFix error state typo (GH#4898) James Bourbeau
Allow actor exceptions to propagate (GH#4232) Martin Durant
Remove importing
apply
fromdask.compatibility
(GH#4913) Elliott Sales de AndradeUse more informative default name for
WorkerPlugin
s (GH#4908) James BourbeauRemoved unused utility functions (GH#4911) James Bourbeau
Locally rerun successfully completed futures (GH#4813) ArtinSarraf
Forget erred tasks and fix deadlocks on worker (GH#4784) Florian Jetter
Handle
HTTPClientError
in websocket connector (GH#4900) Marcos MoyanoUpdate
dask_cuda
usage inSSHCluster
docstring (GH#4894) James BourbeauRemove tests for
process_time
andthread_time
(GH#4895) James BourbeauFlake8 config cleanup (GH#4888) Florian Jetter
Don’t strip scheduler protocol when determining host (GH#4883) James Bourbeau
Add more documentation on memory management (GH#4874) crusaderky
Add
range_query
tests to NVML test suite (GH#4879) Charles Blackmon-LucaNo longer cancel result future in async process when using timeouts (GH#4882) Florian Jetter
2021.06.0¶
Released on June 4, 2021
Multiple worker executors (GH#4869) Mads R. B. Kristensen
Ensure PyNVML works correctly when installed with no GPUs (GH#4873) Peter Andreas Entschev
Show more in test summary (GH#4875) James Bourbeau
Move
SystemMonitor
s GPU initialization back to constructor (GH#4866) Peter Andreas EntschevMark
test_server_comms_mark_active_handlers
withpytest.mark.asyncio
(GH#4876) James BourbeauWho has has what html reprs v2 (GH#4865) Jacob Tomlinson
O(1) rebalance (GH#4774) crusaderky
Ensure repr and eq for cluster always works (GH#4799) Florian Jetter
2021.05.1¶
Released on May 28, 2021
Drop usage of
WhoHas
&WhatHas
fromClient
(GH#4863) jakirkhamEnsure adaptive scaling is properly awaited and closed (GH#4720) Florian Jetter
Fix
WhoHas
/HasWhat
async
usage (GH#4860) Benjamin ZaitlenAdd HTML reprs for
Client.who_has
andClient.has_what
(GH#4853) Jacob TomlinsonPrevent accidentally starting multiple
Worker
s in the same process (GH#4852) crusaderkyAdd system tab to performance reports (GH#4561) Charles Blackmon-Luca
Let servers close faster if there are no active handlers (GH#4805) Florian Jetter
Fix UCX scrub config logging (GH#4850) Peter Andreas Entschev
Ensure worker clients are closed (GH#3921) Florian Jetter
Fix warning for attribute error when deleting a client (GH#4807) Florian Jetter
Ensure exceptions are raised if workers are incorrectly started (GH#4733) Florian Jetter
Update handling of UCX exceptions on endpoint closing (GH#4836) Peter Andreas Entschev
Ensure busy workloads properly look up
who_has
(GH#4793) Florian JetterCheck
distributed.scheduler.pickle
inScheduler.run_function
(GH#4838) James BourbeauAdd performance_report to API docs (GH#4840) James Bourbeau
Use
dict
_workers_dv
in unordered use cases (GH#4826) jakirkhamBump
pre-commit
hook versions (GH#4835) James BourbeauDo not mindlessly spawn workers when no memory limit is set (GH#4397) Torsten Wörtwein
test_memory
to usegen_cluster
(GH#4811) crusaderkyIncrease timeout of
gen_test
to 30s (GH#4821) Florian Jetter
2021.05.0¶
Released on May 14, 2021
Merge global annotations on the client (GH#4691) Mads R. B. Kristensen
Add support for
click
8 (GH#4810) James BourbeauAdd HTML reprs to some scheduler classes (GH#4795) James Bourbeau
Allow the dashboard to run on multiple ports (GH#4786) Jacob Tomlinson
Remove
release_dep
fromWorkerPlugin
API (GH#4791) James BourbeauSupport for UCX 1.10+ (GH#4787) Peter Andreas Entschev
Reduce complexity of
test_gather_allow_worker_reconnect
(GH#4739) Florian JetterFix doctests in
utils.py
(GH#4785) Jacob TomlinsonEnsure deps are actually logged in worker (GH#4753) Florian Jetter
Add
stacklevel
keyword intoperformance_report()
to allow for selecting calling code to be displayed (GH#4777) Nathan DanielsenUnregister worker plugin (GH#4748) Naty Clementi
Fixes some pickling issues in the Cythonized
Scheduler
(GH#4768) jakirkhamImprove graceful shutdown if nanny is involved (GH#4725) Florian Jetter
Update cythonization in CI (GH#4764) James Bourbeau
Use
contextlib.nullcontext
(GH#4763) James BourbeauFix errors in
check_thread_leak
(GH#4747) James BourbeauHandle missing
key
case inreport_on_key
(GH#4755) jakirkham
2021.04.1¶
Released on April 23, 2021
Avoid
active_threads
changing size during iteration (GH#4729) James BourbeauFix
UnboundLocalError
inAdaptiveCore.adapt()
(GH#4731) Anderson BanihirweMinor formatting updates for HTTP endpoints doc (GH#4736) James Bourbeau
Unit test for
metrics["memory"]=None
(GH#4727) crusaderkyEnable configuration of prometheus metrics namespace (GH#4722) Jacob Tomlinson
Reintroduce
weight
function (GH#4723) James BourbeauAdd
ready->memory
to transitions in worker (GH#4728) Gil ForsythFix regressions in GH#4651 (GH#4719) crusaderky
Add descriptions for UCX config options (GH#4683) Charles Blackmon-Luca
Split RAM measure into dask keys/other old/other new (GH#4651) crusaderky
Fix
DeprecationWarning
on Python 3.9 (GH#4717) George Sakkisipython causes
test_profile_nested_sizeof
crash on windows (GH#4713) crusaderkyAdd
iterate_collection
argument toserialize
(GH#4641) Richard J ZamoraWhen closing
Server
, close all listeners (GH#4704) Florian JetterFix timeout in
client.restart
(GH#4690) Matteo De WintAvoid repeatedly using the same worker on first task with quiet cluster (GH#4638) Doug Davis
Remove hostname check in
test_dashboard
(GH#4706) James BourbeauFaster
tests_semaphore::test_worker_dies
(GH#4703) Florian JetterClean up
test_dashboard
(GH#4700) crusaderkyAdd timing information to
TaskGroup
(GH#4671) Matthew RocklinRemove
WSSConnector
TLS presence check (GH#4695) Marcos MoyanoFix typo and remove unused
time.time
import (GH#4689) Hristo GeorgievDon’t initialize CUDA context in monitor (GH#4688) Charles Blackmon-Luca
Add support for extra conn args for HTTP protocols (GH#4682) Marcos Moyano
Adjust timings in
test_threadpoolworkers
(GH#4681) Florian JetterAdd GPU metrics to
SystemMonitor
(GH#4661) Charles Blackmon-LucaRemoving
dumps_msgpack()
andloads_msgpack()
(GH#4677) Mads R. B. KristensenExpose worker
SystemMonitor
s to scheduler via RPC (GH#4657) Charles Blackmon-Luca
2021.04.0¶
Released on April 2, 2021
Fix un-merged frames (GH#4666) Matthew Rocklin
Add informative error message to install uvloop (GH#4664) Matthew Rocklin
Remove incorrect comment regarding default
LocalCluster
creation (GH#4660) cameron16Treat empty/missing
writeable
as a no-op (GH#4659) jakirkhamAvoid list mutation in
pickle_loads
(GH#4653) Matthew RocklinAdd
isort
to pre-commit hooks, package resorting (GH#4647) Charles Blackmon-LucaUse powers-of-two when displaying RAM (GH#4649) crusaderky
Support Websocket communication protocols (GH#4396) Marcos Moyano
scheduler.py
/worker.py
code cleanup (GH#4626) crusaderkyUpdate out-of-date references to
config.yaml
(GH#4643) Hristo GeorgievSuppress
OSError
onSpecCluster
shutdown (GH#4567) Jacob TomlinsonReplace conda with mamba (GH#4585) crusaderky
Expand documentation on pure functions (GH#4644) James Lamb
2021.03.1¶
Released on March 26, 2021
Add standalone dashboard page for GPU usage (GH#4556) Jacob Tomlinson
Handle
stream is None
case in TCP comm finalizer (GH#4631) James BourbeauInclude
LIST_PICKLE
in NumPy array serialization (GH#4632) James BourbeauRename annotation plugin in
test_highlevelgraph.py
(GH#4618) James BourbeauUCX use
nbytes
instead oflen
(GH#4621) Mads R. B. KristensenSkip NumPy and pandas tests if not importable (GH#4563) Ben Greiner
Remove
utils.shutting_down
in favor ofsys.is_finalizing
(GH#4624) James BourbeauHandle
async
clients when closing (GH#4623) Matthew RocklinIntroduce 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 TomlinsonMake length of events
deque
configurable (GH#4604) Fabian GebhartAdd explicit
fetch
state to workerTaskState
(GH#4470) Gil ForsythUpdate
develop.rst
(GH#4603) Florian Jetterpickle_loads()
: Handle emptymemoryview
(GH#4595) Mads R. B. KristensenSwitch documentation builds for PRs to readthedocs (GH#4599) James Bourbeau
Add support for a list of keys when using
batch_size
inclient.map
(GH#4592) Sultan OrazbayevIf
SpecCluster
fails to start attempt to gracefully close out again (GH#4590) Jacob TomlinsonMulti-lock extension (GH#4503) Mads R. B. Kristensen
Update
PipInstall
plugin command (GH#4584) James BourbeauIPython magics: remove deprecated
ioloop
workarounds (GH#4530) Min RKAdd GitHub actions workflow to cancel duplicate builds (GH#4581) James Bourbeau
Remove outdated macOS build badge from
README
(GH#4576) James BourbeauDask 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 DavisChange default branch from master to main (GH#4495) Julia Signell
Msgpack handles extract serialize (GH#4531) Mads R. B. Kristensen
2021.03.0¶
Released on March 5, 2021
Note
This is the first release with support for Python 3.9 and the last release with support for Python 3.6
tcp.write()
: castmemoryview
to byte itemsize (GH#4555) Mads R. B. KristensenRefcount the
thread_state.asynchronous
flag (GH#4557) Mads R. B. KristensenPython 3.9 (GH#4460) crusaderky
Better bokeh defaults for dashboard (GH#4554) Benjamin Zaitlen
Expose system monitor dashboard as individual plot for lab extension (GH#4540) Jacob Tomlinson
Pass on original temp dir from nanny to worker (GH#4549) Martin Durant
Serialize and split (GH#4541) Mads R. B. Kristensen
Use the new HLG pack/unpack API in Dask (GH#4489) Mads R. B. Kristensen
Handle annotations for culled tasks (GH#4544) Tom Augspurger
Make sphinx autosummary and autoclass consistent (GH#4367) Casey Clements
Migrate from travis to GitHub actions (GH#4504) crusaderky
transition_memory_released
andget_nbytes()
optimizations (GH#4516) jakirkhamPin
black
pre-commit (GH#4533) James Bourbeautransition_processing_memory
optimizations, etc. (GH#4487) jakirkhamAttempt to get client from worker in
Queue
andVariable
(GH#4490) James BourbeauUse a callback to close TCP Comms, rather than check every time (GH#4453) Matthew Rocklin
2021.02.0¶
Released on February 5, 2021
Bump minimum Dask to 2021.02.0 (GH#4486) James Bourbeau
Update
TaskState
documentation about dependents attribute (GH#4440) Florian JetterDOC: Autoreformat all functions docstrings (GH#4475) Matthias Bussonnier
Use cached version of
is_coroutine_function
in stream handling to (GH#4481) Ian RoseDOC: typo, directives ends with 2 colons
::
(GH#4472) Matthias BussonnierDOC: Proper numpydoc syntax for
distributed/protocol/*.py
(GH#4473) Matthias BussonnierUpdate
pytest.skip
usage intest_server_listen
(GH#4467) James BourbeauAdded worker resources from config (GH#4456) Tom Augspurger
Fix var name in worker validation func (GH#4457) Gil Forsyth
2021.01.1¶
Released on January 22, 2021
Make system monitor interval configurable (GH#4447) Matthew Rocklin
Add
uvloop
config value (GH#4448) Matthew RocklinGive clusters names (GH#4426) Jacob Tomlinson
Use worker comm pool in
Semaphore
(GH#4195) Florian JetterSet
runspec
on all new tasks to avoid deadlocks (GH#4432) Florian JetterSupport
TaskState
objects in story methods (GH#4434) Matthew RocklinSupport missing event loop in
Client.asynchronous
(GH#4436) Matthew RocklinDon’t require network to inspect tests (GH#4433) Matthew Rocklin
2021.01.0¶
Released on January 15, 2021
Add time started to scheduler info (GH#4425) Jacob Tomlinson
Log adaptive error (GH#4422) Jacob Tomlinson
Xfail normalization tests (GH#4411) Jacob Tomlinson
Use
dumps_msgpack
andloads_msgpack
when packing high level graphs (GH#4409) Mads R. B. KristensenAdd
nprocs
auto option todask-worker
CLI (GH#4377) Jacob TomlinsonType annotation of
_reevaluate_occupancy_worker
(GH#4398) jakirkhamUse
list
comprehensions to bindTaskGroup
type (GH#4401) jakirkhamMake tests pass after 2028 (GH#4403) Bernhard M. Wiedemann
Fix compilation warnings,
decide_worker
now a C func, stealing improvements (GH#4375) jakirkhamtest_performance_report
: skip without bokeh (GH#4388) Bruno PaganiNanny
now respects dask settings from ctx mgr (GH#4378) Florian JetterBetter task duration estimates for outliers (GH#4213) selshowk
Dask internal inherit config (GH#4364) Jacob Tomlinson
Provide
setup.py
option to profile Cython code (GH#4362) jakirkhamOptimizations of
*State
andTask*
objects and stealing (GH#4358) jakirkhamCast
SortedDict
s todict
s in a few key places & other minor changes (GH#4355) jakirkhamUse task annotation priorities for user-level priorities (GH#4354) James Bourbeau
Added docs to highlevelgraph pack/unpack (GH#4352) Mads R. B. Kristensen
Optimizations in notable functions used by transitions (GH#4351) jakirkham
Silence exception when releasing futures on process shutdown (GH#4309) Benjamin Zaitlen
2020.12.0¶
Released on December 10, 2020
Highlights¶
Switched to CalVer for versioning scheme.
The scheduler can now receives Dask
HighLevelGraph
s instead of raw dictionary task graphs. This allows for a much more efficient communication of task graphs from the client to the scheduler.Added support for using custom
Layer
-level annotations likepriority
,retries
, etc. with thedask.annotations
context manager.Updated minimum supported version of Dask to 2020.12.0.
Added many type annotations and updates to allow for gradually Cythonizing the scheduler.
All changes¶
Some common optimizations across transitions (GH#4348) jakirkham
Log duplicate workers in scheduler (GH#4338) Matthew Rocklin
Annotation of some comm related methods in the
Scheduler
(GH#4341) jakirkhamStore occupancy in
_reevaluate_occupancy_worker
(GH#4337) jakirkhamOptionally use offload executor in worker (GH#4307) Matthew Rocklin
Store occupancy in
transition_waiting_processing
(GH#4330) jakirkhamUse
operator.attrgetter
onWorkerState.address
(GH#4324) jakirkhamAnnotate
Task*
objects for Cythonization (GH#4302) jakirkhamEnsure
retire_workers
alwaysreturn
adict
(GH#4323) jakirkhamMove
TaskGroup
&TaskPrefix
before TaskState (GH#4318) jakirkhamRemove empty
test_highgraph.py
file (GH#4313) James BourbeauEnsure that
retire_workers
returns adict
(GH#4315) Matthew RocklinClose
comm
on low-level errors (GH#4239) jochen-ott-byCoerce new
TaskState.nbytes
value toint
(GH#4311) jakirkhamRemove offload
try
/except
forthread_name_prefix
keyword (GH#4308) James BourbeauTransmit
Layer
annotations to scheduler (GH#4279) Simon PerkinsIgnores any compiled files generated by Cython (GH#4301) jakirkham
Protect against missing key in
get_metrics
(GH#4300) Matthew RocklinProvide option to build Distributed with Cython (GH#4292) jakirkham
Set
WorkerState.processing
w/dict
inclean
(GH#4295) jakirkhamAnnotate
check_idle_saturated
for Cythonization (GH#4289) jakirkhamAvoid flicker in
TaskStream
with “Scheduler is empty” message (GH#4284) Matthew RocklinMake
gather_dep
robust to missing tasks (GH#4285) Matthew RocklinAnnotate
extract_serialize
(for Cythonization) (GH#4283) jakirkhamMove
nbytes
from Worker’s state toTaskState
(GH#4274) Gil ForsythDrop extra type check in
_extract_serialize
(GH#4281) jakirkhamMove Status to top-level import (GH#4280) Matthew Rocklin
Collect
report
’sclient_key``s in a ``list
(GH#4275) jakirkhamAdd aggregated topic logs and
log_event
method (GH#4230) James BourbeauFind the set of workers instead of their frequency (GH#4267) jakirkham
Support string timeouts in
sync
(GH#4266) James BourbeauUse
dask.utils.stringify()
instead ofdistributed.utils.tokey()
(GH#4255) Mads R. B. KristensenUse
.items()
to walk through keys and values (GH#4261) jakirkhamSimplify frame length packing in TCP write (GH#4257) jakirkham
Comm/tcp listener: do not pass comm with failed handshake to
comm_handler
(GH#4240) jochen-ott-byDocument task priority tie breaking (GH#4252) James Bourbeau
__dask_distributed_pack__()
: client argument (GH#4248) Mads R. B. KristensenConfigurable timeouts for
worker_client
andget_client
(GH#4146) GeethanjaliEswaranAdd dask/distributed versions to
performance_report
(GH#4249) Matthew RocklinUpdate miniconda GitHub action (GH#4250) James Bourbeau
UCX closing ignore error (GH#4236) Mads R. B. Kristensen
Create dependency
TaskState
as needed ingather_dep
(GH#4241) Gil ForsythInstantiate plugin if needed in
register_worker_plugin
(GH#4198) Julia SignellAllow actors to call actors on the same worker (GH#4225) Martin Durant
Special case profile thread in leaked thread check (GH#4229) James Bourbeau
Use
intersection()
on a set instead ofdict_keys
inupdate_graph
(GH#4227) Mads R. B. KristensenCommunicate
HighLevelGraphs
directly to theScheduler
(GH#4140) Mads R. B. KristensenAdd
get_task_metadata
context manager (GH#4216) James BourbeauTask state logs and data fix (GH#4206) Gil Forsyth
Send active task durations from worker to scheduler (GH#4192) James Bourbeau
Fix state check in
test_close_gracefully
(GH#4203) Gil ForsythAvoid materializing layers in
Client.compute()
(GH#4196) Mads R. B. KristensenAdd
TaskState
metadata (GH#4191) James BourbeauFix regression in task stealing for already released keys (GH#4182) Florian Jetter
Fix
_graph_to_futures
bug for futures-based dependencies (GH#4178) Richard J ZamoraHigh level graph
dumps
/loads
support (GH#4174) Mads R. B. KristensenImplement pass HighLevelGraphs through
_graph_to_futures
(GH#4139) Mads R. B. KristensenSupport
async
preload click commands (GH#4170) James Bourbeaudask-worker
cli memory limit option doc fix (GH#4172) marwan116Add
TaskState
toworker.py
(GH#4107) Gil ForsythIncrease robustness of
Semaphore.release
(GH#4151) Lucas RademakerSkip batched comm test win / tornado5 (GH#4166) Tom Augspurger
Set Zict buffer target to maxsize when
memory_target_fraction
isFalse
(GH#4156) Krishan BhasinAdd
PipInstall
WorkerPlugin
(GH#3216) Matthew RocklinLog
KilledWorker
events in the scheduler (GH#4157) Matthew Rocklin
2.30.1 - 2020-11-03¶
Pin
pytest-asyncio
version (GH#4212) James BourbeauReplace
AsyncProcess
exit handler byweakref.finalize
(GH#4184) Peter Andreas EntschevRemove hard coded connect handshake timeouts (GH#4176) Florian Jetter
2.30.0 - 2020-10-06¶
Support
SubgraphCallable
instr_graph()
(GH#4148) Mads R. B. KristensenHandle exceptions in
BatchedSend
(GH#4135) Tom AugspurgerFix for missing
:
in autosummary docs (GH#4143) Gil ForsythLimit GPU metrics to visible devices only (GH#3810) Jacob Tomlinson
2.29.0 - 2020-10-02¶
Return right away in
Cluster.close
if cluster is already closed (GH#4116) Tom RochetteUpdate async doc with example on
.compute()
vsclient.compute()
(GH#4137) Benjamin ZaitlenCorrectly tear down
LoopRunner
inClient
(GH#4112) Sergey KozlovSimplify
Client._graph_to_futures()
(GH#4127) Mads R. B. KristensenCleanup new exception traceback (GH#4125) Krishan Bhasin
Stop writing config files by default (GH#4123) Matthew Rocklin
2.27.0 - 2020-09-18¶
Fix registering a worker plugin with
name
arg (GH#4105) Nick EvansSupport different
remote_python
paths on cluster nodes (GH#4085) Abdulelah Bin MahfoodhAllow
RuntimeError
s when closing global clients (GH#4115) Matthew RocklinMatch
pre-commit
in dask (GH#4049) Julia SignellUpdate
super
usage (GH#4110) Poruri Sai Rahul
2.26.0 - 2020-09-11¶
Add logging for adaptive start and stop (GH#4101) Matthew Rocklin
Don’t close a nannied worker if it hasn’t yet started (GH#4093) Matthew Rocklin
Respect timeouts when closing clients synchronously (GH#4096) Matthew Rocklin
Log when downloading a preload script (GH#4094) Matthew Rocklin
dask-worker --nprocs
accepts negative values (GH#4089) Dror SpeiserSupport zero-worker clients (GH#4090) Matthew Rocklin
Exclude
fire-and-forget
client from metrics (GH#4078) Tom AugspurgerAdd
timeout=
keyword toClient.wait_for_workers
method (GH#4087) Matthew Rocklin
2.25.0 - 2020-08-28¶
Update for black (GH#4081) Tom Augspurger
Provide informative error when connecting an older version of Dask (GH#4076) Matthew Rocklin
Graph helper text (GH#4064) Julia Signell
Graph dashboard: Reset container data if task number is too large (GH#4056) Florian Jetter
Ensure semaphore picks correct
IOLoop
for threadpool workers (GH#4060) Florian JetterAdd cluster log method (GH#4051) Jacob Tomlinson
Cleanup more exception tracebacks (GH#4054) Krishan Bhasin
Improve documentation of
scheduler.locks
options (GH#4062) Florian Jetter
2.24.0 - 2020-08-22¶
Move toolbar to above and fix y axis (#4043) Julia Signell
Make behavior clearer for how to get worker dashboard (#4047) Julia Signell
Worker dashboard clean up (#4046) Julia Signell
Add a default argument to the datasets and a possibility to override datasets (#4052) Nils Braun
Discover HTTP endpoints (#3744) Martin Durant
2.23.0 - 2020-08-14¶
Tidy up exception traceback in TCP Comms (GH#4042) Krishan Bhasin
Angle on the x-axis labels (GH#4030) Mathieu Dugré
Fix documentation
upload_file
(GH#4038) Roberto PanaiAdd test for informative errors in serialization cases (GH#4029) Matthew Rocklin
Add compression, pickle protocol to comm contexts (GH#4019) Matthew Rocklin
Make GPU plots robust to not having GPUs (GH#4008) Matthew Rocklin
Update
PendingDeprecationWarning
with correct version number (GH#4025) Matthias BussonnierTry getting cluster
dashboard_link
before asking scheduler (GH#4018) Matthew RocklinIgnore writeable frames with builtin
array
(GH#4016) jakirkhamClear function cache whenever we upload a new file (GH#3993) Jack Xiaosong Xu
Emit warning when assign/comparing string with
Status
Enum
(GH#3875) Matthias BussonnierImprove
bytes
andbytearray
serialization (GH#4009) jakirkhamFix memory histogram values in dashboard (GH#4006) Willi Rath
2.22.0 - 2020-07-31¶
Only call
frame_split_size
when there are frames (GH#3996) jakirkhamHandle sum of memory percentage when
memory_limit
is 0 (GH#3984) Julia SignellRevert to localhost for local IP if no network available (GH#3991) Matthew Rocklin
Add missing backtick in inline directive. (GH#3988) Matthias Bussonnier
Warn when
threads_per_worker
is set to zero (GH#3986) Julia SignellIterate over list of comms (GH#3959) Matthew Rocklin
Streamline
pack_frames
/unpack_frames
frames (GH#3973) jakirkhamAlways attempt to create
dask-worker-space
folder and continue if it exists (GH#3972) Jendrik JördeningUse continuation prompt for proper example parsing (GH#3966) Matthias Bussonnier
2.21.0 - 2020-07-17¶
Fix data replication error (GH#3963) Andrew Fulton
Treat falsey local directory as
None
(GH#3964) Tom AugspurgerUnpin
numpydoc
now that 1.1 is released (GH#3957) Gil ForsythError hard when Dask has mismatched versions or lz4 installed (GH#3936) Matthew Rocklin
UCX: reuse endpoints in order to fix NVLINK issue (GH#3953) Mads R. B. Kristensen
Update time per task chart with filtering and pie (GH#3933) Benjamin Zaitlen
UCX: explicit shutdown message (GH#3950) Mads R. B. Kristensen
Avoid too aggressive retry of connections (GH#3944) Matthias Bussonnier
Parse timeouts in
Client.sync
(GH#3952) Matthew RocklinSynchronize on non-trivial CUDA frame transmission (GH#3949) jakirkham
Serialize
memoryview
withshape
andformat
(GH#3947) jakirkhamMove
scheduler_comm
intoCluster.__init__
(GH#3945) Matthew Rocklin
2.20.0 - 2020-07-02¶
Link issue on using
async
withexecutor_submit
(GH#3939) jakirkhamMake dashboard server listens on all IPs by default even when interface is set explicitly (GH#3941) Loïc Estève
Update logic for worker removal in check ttl (GH#3927) Benjamin Zaitlen
Close a created cluster quietly (GH#3935) Matthew Rocklin
Ensure
Worker.run*
handleskwargs
correctly (GH#3937) jakirkhamRestore
Scheduler.time_started
for Dask Gateway (GH#3934) Tom AugspurgerFix exception handling in
_wait_until_connected
(GH#3912) Alexander ClausenMake local directory if it does not exist (GH#3928) Matthew Rocklin
Install vanilla status route if bokeh dependency is not satisfied (GH#3844) joshreback
Make
Worker.delete_data
sync (GH#3922) Peter Andreas EntschevFix race condition in repeated calls to
cluster.adapt()
(GH#3915) Jacob Tomlinson
2.19.0 - 2020-06-19¶
Notify worker plugins when a task is released (GH#3817) Nick Evans
Update heartbeat checks in scheduler (GH#3896) Benjamin Zaitlen
Make encryption default if
Security
is given arguments (GH#3887) Matthew RocklinShow
cpu_fraction
on hover for dashboard workers circle plot. (GH#3906) Loïc EstèvePrune virtual client on variable deletion (GH#3910) Marco Neumann
Fix total aggregated metrics in dashboard (GH#3897) Loïc Estève
Support Bokeh 2.1 (GH#3904) Matthew Rocklin
Skip
test_pid_file
in older versions of Python (GH#3888) Matthew RocklinReplace
stream=
withcomm=
in handlers (GH#3860) Julien JerphanionCheck hosts for
None
value in SSH cluster. (GH#3883) Matthias BussonnierAllow dictionaries in
security=
keywords (GH#3874) Matthew RocklinUse pickle protocol 5 with NumPy object arrays (GH#3871) jakirkham
Cast any
frame
touint8
(same type asbytes
) (GH#3870) jakirkhamUse
Enum
for worker, scheduler and nanny status. (GH#3853) Matthias BussonnierDrop old frame splitting in NumPy serialization (GH#3868) jakirkham
Drop no longer needed local
import pickle
(GH#3865) jakirkhamHandle empty times in task stream (GH#3862) Benjamin Zaitlen
Change
asyncssh
objects to sphinx references (GH#3861) Jacob TomlinsonImprove
SSHCluster
docstring forconnect_options
(GH#3859) Jacob TomlinsonValidate address parameter in client constructor (GH#3842) joshreback
Use
SpecCluster
name in worker names (GH#3855) Loïc EstèveAllow async
add_worker
andremove_worker
plugin methods (GH#3847) James Bourbeau
2.18.0 - 2020-06-05¶
Merge frames in
deserialize_bytes
(GH#3639) John KirkhamAllow
SSHCluster
to take a list ofconnect_options
(GH#3854) Jacob TomlinsonAdd favicon to performance report (GH#3852) Jacob Tomlinson
Add dashboard plots for the amount of time spent per key and for transfer/serialization (GH#3792) Benjamin Zaitlen
Fix variable name in journey of a task documentation (GH#3840) Matthias Bussonnier
Fix typo in journey of a task doc (GH#3838) James Bourbeau
Register
dask_cudf
serializers (GH#3832) John KirkhamFix key check in
rebalance
missing keys (GH#3834) Jacob TomlinsonAllow collection of partial profile information in case of exceptions (GH#3773) Florian Jetter
2.17.0 - 2020-05-26¶
Record the time since the last run task on the scheduler (GH#3830) Matthew Rocklin
Set colour of
nbytes
pane based on thresholds (GH#3805) Krishan BhasinInclude total number of tasks in the performance report (GH#3822) Abdulelah Bin Mahfoodh
Allow to pass in task key strings in the worker restrictions (GH#3826) Nils Braun
Control de/ser offload (GH#3793) Martin Durant
Parse timeout parameters in
Variable
/Event
/Lock
to support text timeouts (GH#3825) Nils BraunDon’t send empty dependencies (GH#3423) Jakub Beránek
Add distributed Dask
Event
that mimicsthreading.Event
(GH#3821) Nils BraunEnhance
VersionMismatchWarning
messages (GH#3786) Abdulelah Bin MahfoodhReplace
utils.ignoring
withcontextlib.suppress
(GH#3819) Nils BraunMake re-creating conda environments from the CI output easier (GH#3816) Lucas Rademaker
Add prometheus metrics for semaphore (GH#3757) Lucas Rademaker
Fix worker plugin called with superseded transition (GH#3812) Nick Evans
Add retries to server listen (GH#3801) Jacob Tomlinson
Remove commented out lines from
scheduler.py
(GH#3803) James BourbeauFix
RuntimeWarning
for never awaited coroutine when usingdistributed.Semaphore
(GH#3713) Florian JetterFix profile thread leakage during test teardown on some platforms (GH#3795) Florian Jetter
Await self before handling comms (GH#3788) Matthew Rocklin
Fix typo in
Cluster
docstring (GH#3787) Scott Sanderson
2.16.0 - 2020-05-08¶
Client.get_dataset
to always createFutures
attached to itself (GH#3729) crusaderkyRemove dev-requirements since it is unused (GH#3782) Julia Signell
Use bokeh column for
/system
instead of custom css (GH#3781) Julia SignellAttempt to fix
test_preload_remote_module
on windows (GH#3775) James BourbeauFix broadcast for TLS comms (GH#3766) Florian Jetter
Don’t validate http preloads locally (GH#3768) Rami Chowdhury
Allow range of ports to be specified for
Workers
(GH#3704) James BourbeauAdd UCX support for RDMACM (GH#3759) Peter Andreas Entschev
Support web addresses in preload (GH#3755) Matthew Rocklin
2.15.2 - 2020-05-01¶
Connect to dashboard when address provided (GH#3758) Tom Augspurger
Move
test_gpu_metrics test
(GH#3721) Tom AugspurgerNanny closing worker on
KeyboardInterrupt
(GH#3747) Mads R. B. KristensenReplace
OrderedDict
withdict
in scheduler (GH#3740) Matthew RocklinFix exception handling typo (GH#3751) Jonas Haag
2.15.1 - 2020-04-28¶
Ensure
BokehTornado
uses prefix (GH#3746) James BourbeauWarn if cluster closes before starting (GH#3735) Matthew Rocklin
Memoryview serialisation (GH#3743) Martin Durant
Allows logging config under distributed key (GH#2952) Dillon Niederhut
2.15.0 - 2020-04-24¶
Reinstate support for legacy
@gen_cluster
functions (GH#3738) crusaderkyAdd Configuration Schema (GH#3696) Matthew Rocklin
Reuse CI scripts for local installation process (GH#3698) crusaderky
Use
PeriodicCallback
class from tornado (GH#3725) James BourbeauAdd
remote_python
option in ssh cmd (GH#3709) Abdulelah Bin MahfoodhConfigurable polling interval for cluster widget (GH#3723) Julia Signell
Fix copy-paste in docs (GH#3728) Julia Signell
Replace
gen.coroutine
with async-await in tests (GH#3706) crusaderkyFix flaky
test_oversubscribing_leases
(GH#3726) Florian JetterAdd
batch_size
toClient.map
(GH#3650) Tom AugspurgerAdjust semaphore test timeouts (GH#3720) Florian Jetter
Dask-serialize dicts longer than five elements (GH#3689) Richard J Zamora
Force
threads_per_worker
(GH#3715) crusaderkyIdempotent semaphore acquire with retries (GH#3690) Florian Jetter
Avoid
DeprecationWarning
from pandas (GH#3712) Tom AugspurgerAllow modification of
distributed.comm.retry
at runtime (GH#3705) Florian JetterDo not log an error on unset variable delete (GH#3652) Jonathan J. Helmus
Add
remote_python
keyword to the newSSHCluster
(GH#3701) Abdulelah Bin MahfoodhReplace Example with Examples in docstrings (GH#3697) Matthew Rocklin
Add
Cluster
__enter__
and__exit__
methods (GH#3699) Matthew RocklinFix propagating inherit config in
SSHCluster
for non-bash shells (GH#3688) Abdulelah Bin MahfoodhAdd
Client.wait_to_workers
toClient
autosummary table (GH#3692) James BourbeauReplace Bokeh Server with Tornado HTTPServer (GH#3658) Matthew Rocklin
Fix
dask-ssh
after removinglocal-directory
fromdask_scheduler
cli (GH#3684) Abdulelah Bin MahfoodhSupport preload modules in
Nanny
(GH#3678) Matthew RocklinRefactor semaphore internals: make
_get_lease
synchronous (GH#3679) Lucas RademakerDon’t make task graphs too big (GH#3671) Martin Durant
Pass through
connection
/listen_args
as splatted keywords (GH#3674) Matthew RocklinRun preload at import, start, and teardown (GH#3673) Matthew Rocklin
Use relative URL in scheduler dashboard (GH#3676) Nicholas Smith
Expose
Security
object as public API (GH#3675) Matthew RocklinAdd zoom tools to profile plots (GH#3672) James Bourbeau
Update
Scheduler.rebalance
return value when data is missing (GH#3670) James Bourbeau
2.14.0 - 2020-04-03¶
Remove openssl 1.1.1d pin for Travis (GH#3668) Jonathan J. Helmus
More documentation for
Semaphore
(GH#3664) Florian JetterGet CUDA context to finalize Numba
DeviceNDArray
(GH#3666) jakirkhamAdd Resources option to
get_task_stream
and calloutput_file
(GH#3653) Prasun AnandAdd
Semaphore
extension (GH#3573) Lucas RademakerReplace
ncores
withnthreads
in work stealing tests (GH#3615) James BourbeauClean up some test warnings (GH#3662) Matthew Rocklin
Write “why killed” docs (GH#3596) Martin Durant
Update Python version checking (GH#3660) James Bourbeau
Add newlines to ensure code formatting for
retire_workers
(GH#3661) Rami ChowdhuryClean up performance report test (GH#3655) Matthew Rocklin
Avoid diagnostics time in performance report (GH#3654) Matthew Rocklin
Introduce config for default task duration (GH#3642) Gabriel Sailer
Bump checkout GitHub action to v2 (GH#3649) James Bourbeau
Handle exception in
faulthandler
(GH#3646) Jacob TomlinsonAdd prometheus metric for suspicious tasks (GH#3550) Gabriel Sailer
Remove
local-directory
keyword (GH#3620) Prasun AnandDon’t create output Futures in Client when there are mixed Client Futures (GH#3643) James Bourbeau
Add link to
contributing.md
(GH#3621) Prasun AnandUpdate bokeh dependency in CI builds (GH#3637) James Bourbeau
2.13.0 - 2020-03-25¶
UCX synchronize default stream only on CUDA frames (GH#3638) Peter Andreas Entschev
Add
as_completed.clear
method (GH#3617) Matthew RocklinDrop unused line from
pack_frames_prelude
(GH#3634) John KirkhamAdd logging message when closing idle dask scheduler (GH#3632) Matthew Rocklin
Include frame lengths of CUDA objects in
header["lengths"]
(GH#3631) John KirkhamEnsure
Client
connection pool semaphore attaches to theClient
event loop (GH#3546) James BourbeauRemove dead stealing code (GH#3619) Florian Jetter
Check
nbytes
andtypes
before readingdata
(GH#3628) John KirkhamEnsure that we don’t steal blacklisted fast tasks (GH#3591) Florian Jetter
Support async
Listener.stop
functions (GH#3613) Matthew RocklinAdd str/repr methods to
as_completed
(GH#3618) Matthew RocklinAdd backoff to comm connect attempts. (GH#3496) Matthias Urlichs
Make
Listeners
awaitable (GH#3611) Matthew RocklinIncrease number of visible mantissas in dashboard plots (GH#3585) Scott Sievert
Pin openssl to 1.1.1d for Travis (GH#3602) Jacob Tomlinson
Replace
tornado.queues
withasyncio.queues
(GH#3607) James BourbeauRemove
dill
from CI environments (GH#3608) Loïc EstèveFix linting errors (GH#3604) James Bourbeau
Synchronize default CUDA stream before UCX send/recv (GH#3598) Peter Andreas Entschev
Add configuration for
Adaptive
arguments (GH#3509) Gabriel SailerChange
Adaptive
docs to referenceadaptive_target
(GH#3597) Julia SignellOptionally compress on a frame-by-frame basis (GH#3586) Matthew Rocklin
Add Python version to version check (GH#3567) James Bourbeau
Import
tlz
(GH#3579) John KirkhamPin
numpydoc
to avoid double escaped*
(GH#3530) Gil ForsythAvoid
performance_report
crashing when a worker dies mid-compute (GH#3575) Krishan BhasinPin
bokeh
in CI builds (GH#3570) James BourbeauDisable fast fail on GitHub Actions Windows CI (GH#3569) James Bourbeau
Fix typo in
Client.shutdown
docstring (GH#3562) John KirkhamAdd
local_directory
option todask-ssh
(GH#3554) Abdulelah Bin Mahfoodh
2.12.0 - 2020-03-06¶
Update
TaskGroup
remove logic (GH#3557) James BourbeauFix-up CuPy sparse serialization (GH#3556) John Kirkham
API docs for
LocalCluster
andSpecCluster
(GH#3548) Tom AugspurgerSerialize sparse arrays (GH#3545) John Kirkham
Allow tasks with restrictions to be stolen (GH#3069) Stan Seibert
Use UCX default configuration instead of raising (GH#3544) Peter Andreas Entschev
Support using other serializers with
register_generic
(GH#3536) John KirkhamDOC: update to async await (GH#3543) Tom Augspurger
Use
pytest.raises
intest_ucx_config.py
(GH#3541) John KirkhamFix/more ucx config options (GH#3539) Benjamin Zaitlen
Update heartbeat
CommClosedError
error handling (GH#3529) James BourbeauUse
makedirs
when constructinglocal_directory
(GH#3538) John KirkhamMark
None
as MessagePack serializable (GH#3537) John KirkhamMark
bool
as MessagePack serializable (GH#3535) John KirkhamUse ‘temporary-directory’ from
dask.config
for Nanny’s directory (GH#3531) John KirkhamAdd try-except around getting source code in performance report (GH#3505) Matthew Rocklin
Fix typo in docstring (GH#3528) Davis Bennett
Make work stealing callback time configurable (GH#3523) Lucas Rademaker
RMM/UCX Config Flags (GH#3515) Benjamin Zaitlen
Revise develop-docs: conda env example (GH#3406) Darren Weber
Remove
import ucp
from the top ofucx.py
(GH#3510) Peter Andreas EntschevRename
logs
toget_logs
(GH#3473) Jacob TomlinsonStop keep alives when worker reconnecting to the scheduler (GH#3493) Jacob Tomlinson
2.11.0 - 2020-02-19¶
Add dask serialization of CUDA objects (GH#3482) John Kirkham
Suppress cuML
ImportError
(GH#3499) John KirkhamMsgpack 1.0 compatibility (GH#3494) James Bourbeau
Register cuML serializers (GH#3485) John Kirkham
Check exact equality for worker state (GH#3483) Brett Naul
Serialize 1-D, contiguous,
uint8
CUDA frames (GH#3475) John KirkhamUpdate NumPy array serialization to handle non-contiguous slices (GH#3474) James Bourbeau
Propose fix for collection based resources docs (GH#3480) Chris Roat
Remove
--verbose
flag from CI runs (GH#3484) Matthew RocklinDo not duplicate messages in scheduler report (GH#3477) Jakub Beránek
Register Dask cuDF serializers (GH#3478) John Kirkham
Add support for Python 3.8 (GH#3249) James Bourbeau
Add last seen column to worker table and highlight errant workers (GH#3468) kaelgreco
Change default value of
local_directory
from empty string toNone
(GH#3441) condoratberlinClear old docs (GH#3458) Matthew Rocklin
Change default multiprocessing behavior to spawn (GH#3461) Matthew Rocklin
Split dashboard host on additional slashes to handle inproc (GH#3466) Jacob Tomlinson
Update
locality.rst
(GH#3470) Dustin TindallMinor
gen.Return
cleanup (GH#3469) James BourbeauUpdate comparison logic for worker state (GH#3321) rockwellw
Update minimum
tblib
version to 1.6.0 (GH#3451) James BourbeauAdd total row to workers plot in dashboard (GH#3464) Julia Signell
Workaround
RecursionError
on profile data (GH#3455) Tom AugspurgerInclude code and summary in performance report (GH#3462) Matthew Rocklin
Skip
test_open_close_many_workers
on Python 3.6 (GH#3459) Matthew RocklinSupport serializing/deserializing
rmm.DeviceBuffer
s (GH#3442) John KirkhamAlways add new
TaskGroup
toTaskPrefix
(GH#3322) James BourbeauRerun
black
on the code base (GH#3444) John KirkhamEnsure
__causes__
s of exceptions raised on workers are serialized (GH#3430) Alex AdamsonAdjust
numba.cuda
import and add check (GH#3446) John KirkhamFix name of Numba serialization test (GH#3447) John Kirkham
Checks for command parameters in
ssh2
(GH#3078) Peter Andreas EntschevUpdate
worker_kwargs
description inLocalCluster
constructor (GH#3438) James BourbeauEnsure scheduler updates task and worker states after successful worker data deletion (GH#3401) James Bourbeau
Avoid
loop=
keyword in asyncio coordination primitives (GH#3437) Matthew RocklinCall pip as a module to avoid warnings (GH#3436) Cyril Shcherbin
Add documentation of parameters in coordination primitives (GH#3434) Søren Fuglede Jørgensen
Replace
tornado.locks
with asyncio for Events/Locks/Conditions/Semaphore (GH#3397) Matthew RocklinRemove object from class hierarchy (GH#3432) Anderson Banihirwe
Add
dashboard_link
property toClient
(GH#3429) Jacob TomlinsonAllow memory monitor to evict data more aggressively (GH#3424) fjetter
Make
_get_ip
return an IP address when defaulting (GH#3418) Pierre GlaserSupport version checking with older versions of Dask (GH#3390) Igor Gotlibovych
Add Mac OS build to CI (GH#3358) James Bourbeau
2.10.0 - 2020-01-28¶
Fixed
ZeroDivisionError
in dashboard when no workers were present (GH#3407) James BourbeauRespect the
dashboard-prefix
when redirecting from the root (GH#3387) Chrysostomos NanakosAllow enabling / disabling work-stealing after the cluster has started (GH#3410) John Kirkham
Support
*args
and**kwargs
in offload (GH#3392) Matthew RocklinAdd lifecycle hooks to SchedulerPlugin (GH#3391) Matthew Rocklin
2.9.3 - 2020-01-17¶
Raise
RuntimeError
if no running loop (GH#3385) James BourbeauFix
get_running_loop
import (GH#3383) James BourbeauGet JavaScript document location instead of window and handle proxied url (GH#3382) Jacob Tomlinson
2.9.2 - 2020-01-16¶
Move Windows CI to GitHub Actions (GH#3373) Jacob Tomlinson
Add client join and leave hooks (GH#3371) Jacob Tomlinson
Add cluster map dashboard (GH#3361) Jacob Tomlinson
Close connection comm on retry (GH#3365) James Bourbeau
Fix scheduler state in case of worker name collision (GH#3366) byjott
Add
--worker-class
option todask-worker
CLI (GH#3364) James BourbeauRemove
locale
check that fails on OS X (GH#3360) Jacob TomlinsonRework version checking (GH#2627) Matthew Rocklin
Add websocket scheduler plugin (GH#3335) Jacob Tomlinson
Return task in
dask-worker
on_signal
function (GH#3354) James BourbeauFix failures on mixed integer/string worker names (GH#3352) Benedikt Reinartz
Avoid calling
nbytes
multiple times when sending data (GH#3349) Markus MohrhardAvoid setting event loop policy if within IPython kernel and no running event loop (GH#3336) Mana Borwornpadungkitti
Relax intermittent failing
test_profile_server
(GH#3346) Matthew Rocklin
2.9.1 - 2019-12-27¶
Add lock around dumps_function cache (GH#3337) Matthew Rocklin
Add setuptools to dependencies (GH#3320) James Bourbeau
Use TaskPrefix.name in Graph layout (GH#3328) Matthew Rocklin
Add missing “ in performance report example (GH#3329) John Kirkham
Add performance report docs and color definitions to docs (GH#3325) Benjamin Zaitlen
Switch startstops to dicts and add worker name to transfer (GH#3319) Jacob Tomlinson
Add plugin entry point for out-of-tree comms library (GH#3305) Patrick Sodré
Use worker name in logs (GH#3309) Stephan Erb
Add TaskGroup and TaskPrefix scheduler state (GH#3262) Matthew Rocklin
Update inlining Futures in task graph in Client._graph_to_futures (GH#3303) James Bourbeau
Use hostname as default IP address rather than localhost (GH#3308) Matthew Rocklin
Clean up flaky test_nanny_throttle (GH#3295) Tom Augspurger
Add lock to scheduler for sensitive operations (GH#3259) Matthew Rocklin
Log address for each of the Scheduler listerners (GH#3306) Matthew Rocklin
Make ConnectionPool.close asynchronous (GH#3304) Matthew Rocklin
2.9.0 - 2019-12-06¶
Add
dask-spec
CLI tool (GH#3090) Matthew RocklinConnectionpool: don’t hand out closed connections (GH#3301) byjott
Skip
Security.temporary()
tests if cryptography not installed (GH#3302) James BourbeauSupport multiple listeners in the scheduler (GH#3288) Matthew Rocklin
Updates RMM comment to the correct release (GH#3299) John Kirkham
Add title to
performance_report
(GH#3298) Matthew RocklinForgot to fix slow test (GH#3297) Benjamin Zaitlen
Update
SSHCluster
docstring parameters (GH#3296) James Bourbeauworker.close()
awaitsbatched_stream.close()
(GH#3291) Mads R. B. KristensenFix asynchronous listener in UCX (GH#3292) Benjamin Zaitlen
Avoid repeatedly adding deps to already in memory stack (GH#3293) James Bourbeau
xfail ucx empty object typed dataframe (GH#3279) Benjamin Zaitlen
Fix
distributed.wait
documentation (GH#3289) Tom RochetteMove Python 3 syntax tests into main tests (GH#3281) Matthew Rocklin
xfail
test_workspace_concurrency
for Python 3.6 (GH#3283) Matthew RocklinAdd
performance_report
context manager for static report generation (GH#3282) Matthew RocklinUpdate function serialization caches with custom LRU class (GH#3260) James Bourbeau
Make
Listener.start
asynchronous (GH#3278) Matthew RocklinRemove
dask-submit
anddask-remote
(GH#3280) Matthew RocklinWorker profile server (GH#3274) Matthew Rocklin
Improve bandwidth workers plot (GH#3273) Matthew Rocklin
Make profile coroutines consistent between
Scheduler
andWorker
(GH#3277) Matthew RocklinEnable saving profile information from server threads (GH#3271) Matthew Rocklin
Remove memory use plot (GH#3269) Matthew Rocklin
Add offload size to configuration (GH#3270) Matthew Rocklin
Fix layout scaling on profile plots (GH#3268) Jacob Tomlinson
Set
x_range
in CPU plot based on the number of threads (GH#3266) Matthew RocklinUse base-2 values for byte-valued axes in dashboard (GH#3267) Matthew Rocklin
Robust gather in case of connection failures (GH#3246) fjetter
Use
DeviceBuffer
from newer RMM releases (GH#3261) John KirkhamFix dev requirements for pytest (GH#3264) Elliott Sales de Andrade
Add validate options to configuration (GH#3258) Matthew Rocklin
2.8.1 - 2019-11-22¶
Fix hanging worker when the scheduler leaves (GH#3250) Tom Augspurger
Fix NumPy writeable serialization bug (GH#3253) James Bourbeau
Skip
numba.cuda
tests if CUDA is not available (GH#3255) Peter Andreas EntschevAdd new dashboard plot for memory use by key (GH#3243) Matthew Rocklin
Fixed cupy array going out of scope (GH#3240) Mads R. B. Kristensen
Remove
gen.coroutine
usage in scheduler (GH#3242) Jim Crist-HarifUse
inspect.isawaitable
where relevant (GH#3241) Jim Crist-Harif
2.8.0 - 2019-11-14¶
Add UCX config values (GH#3135) Matthew Rocklin
Relax test_MultiWorker (GH#3210) Matthew Rocklin
Avoid ucp.init at import time (GH#3211) Matthew Rocklin
Clean up rpc to avoid intermittent test failure (GH#3215) Matthew Rocklin
Respect protocol if given to Scheduler (GH#3212) Matthew Rocklin
Use legend_field= keyword in bokeh plots (GH#3218) Matthew Rocklin
Cache psutil.Process object in Nanny (GH#3207) Matthew Rocklin
Replace gen.sleep with asyncio.sleep (GH#3208) Matthew Rocklin
Avoid offloading serialization for small messages (GH#3224) Matthew Rocklin
Add desired_workers metric (GH#3221) Gabriel Sailer
Fail fast when importing distributed.comm.ucx (GH#3228) Matthew Rocklin
Add module name to Future repr (GH#3231) Matthew Rocklin
Add name to Pub/Sub repr (GH#3235) Matthew Rocklin
Import CPU_COUNT from dask.system (GH#3199) James Bourbeau
Efficiently serialize zero strided NumPy arrays (GH#3180) James Bourbeau
Cache function deserialization in workers (GH#3234) Matthew Rocklin
Respect ordering of futures in futures_of (GH#3236) Matthew Rocklin
Bump dask dependency to 2.7.0 (GH#3237) James Bourbeau
Clear task stream based on recent behavior (GH#3200) Matthew Rocklin
Use the percentage field for profile plots (GH#3238) Matthew Rocklin
2.7.0 - 2019-11-08¶
This release drops support for Python 3.5
Adds badges to README.rst [skip ci] (GH#3152) James Bourbeau
Don’t overwrite self.address if it is present (GH#3153) Gil Forsyth
Remove outdated references to debug scheduler and worker bokeh pages. (GH#3160) darindf
Update CONTRIBUTING.md (GH#3159) Jacob Tomlinson
Add Prometheus metric for a worker’s executing tasks count (GH#3163) darindf
Fix Numba serialization when strides is None (GH#3166) Peter Andreas Entschev
Await cluster in Adaptive.recommendations (GH#3168) Simon Boothroyd
Avoid swamping high-memory workers with data requests (GH#3071) Tom Augspurger
Update UCX variables to use sockcm by default (GH#3177) Peter Andreas Entschev
Get protocol in Nanny/Worker from scheduler address (GH#3175) Peter Andreas Entschev
Add worker and tasks state for Prometheus data collection (GH#3174) darindf
Use async def functions for offload to/from_frames (GH#3171) Mads R. B. Kristensen
Subprocesses inherit the global dask config (GH#3192) Mads R. B. Kristensen
XFail test_open_close_many_workers (GH#3194) Matthew Rocklin
Drop Python 3.5 (GH#3179) James Bourbeau
UCX: avoid double init after fork (GH#3178) Mads R. B. Kristensen
Silence warning when importing while offline (GH#3203) James A. Bednar
Adds docs to Client methods for resources, actors, and traverse (GH#2851) IPetrik
Add test for concurrent scatter operations (GH#2244) Matthew Rocklin
Expand async docs (GH#2293) Dave Hirschfeld
Add PatchedDeviceArray to drop stride attribute for cupy<7.0 (GH#3198) Richard J Zamora
2.6.0 - 2019-10-15¶
Refactor dashboard module (GH#3138) Jacob Tomlinson
Use
setuptools.find_packages
insetup.py
(GH#3150) Matthew RocklinMove death timeout logic up to
Node.start
(GH#3115) Matthew RocklinOnly include metric in
WorkerTable
if it is a scalar (GH#3140) Matthew RocklinAdd
Nanny(config={...})
keyword (GH#3134) Matthew RocklinXfail
test_worksapce_concurrency
on Python 3.6 (GH#3132) Matthew RocklinExtend Worker plugin API with transition method (GH#2994) matthieubulte
Raise exception if the user passes in unused keywords to
Client
(GH#3117) Jonathan De TroyeMove new
SSHCluster
to top level (GH#3128) Matthew Rocklin
2.5.2 - 2019-10-04¶
Make dask-worker close quietly when given sigint signal (GH#3116) Matthew Rocklin
Replace use of tornado.gen with asyncio in dask-worker (GH#3114) Matthew Rocklin
UCX: allocate CUDA arrays using RMM and Numba (GH#3109) Mads R. B. Kristensen
Support calling cluster.scale as async method (GH#3110) Jim Crist
Identify lost workers in SpecCluster based on address not name (GH#3088) James Bourbeau
Add Client.shutdown method (GH#3106) Matthew Rocklin
Collect worker-worker and type bandwidth information (GH#3094) Matthew Rocklin
Send noise over the wire to keep dask-ssh connection alive (GH#3105) Gil Forsyth
Retry scheduler connect multiple times (GH#3104) Jacob Tomlinson
Add favicon of logo to the dashboard (GH#3095) James Bourbeau
Remove utils.py functions for their dask/utils.py equivalents (GH#3042) Matthew Rocklin
Lower default bokeh log level (GH#3087) Philipp Rudiger
Check if self.cluster.scheduler is a local scheduler (GH#3099) Jacob Tomlinson
2.5.1 - 2019-09-27¶
Support clusters that don’t have .security or ._close methods (GH#3100) Matthew Rocklin
2.5.0 - 2019-09-27¶
Use the new UCX Python bindings (GH#3059) Mads R. B. Kristensen
Fix widget with spec that generates multiple workers (GH#3067) Loïc Estève
Make Client.get_versions async friendly (GH#3064) Jacob Tomlinson
Add configuration option for longer error tracebacks (GH#3086) Daniel Farrell
Have Client get Security from passed Cluster (GH#3079) Matthew Rocklin
Respect Cluster.dashboard_link in Client._repr_html_ if it exists (GH#3077) Matthew Rocklin
Add monitoring with dask cluster docs (GH#3072) Arpit Solanki
Protocol of cupy and numba handles serialization exclusively (GH#3047) Mads R. B. Kristensen
Allow specification of worker type in SSHCLuster (GH#3061) Jacob Tomlinson
Use Cluster.scheduler_info for workers= value in repr (GH#3058) Matthew Rocklin
Allow SpecCluster to scale by memory and cores (GH#3057) Matthew Rocklin
Allow full script in preload inputs (GH#3052) Matthew Rocklin
Check multiple cgroups dirs, ceil fractional cpus (GH#3056) Jim Crist
Add blurb about disabling work stealing (GH#3055) Chris White
2.4.0 - 2019-09-13¶
Remove six (GH#3045) Matthew Rocklin
Add missing test data to sdist tarball (GH#3050) Elliott Sales de Andrade
Use mock from unittest standard library (GH#3049) Elliott Sales de Andrade
Use cgroups resource limits to determine default threads and memory (GH#3039) Jim Crist
Move task deserialization to immediately before task execution (GH#3015) James Bourbeau
Drop joblib shim module in distributed (GH#3040) John Kirkham
Redirect configuration doc page (GH#3038) Matthew Rocklin
Support
--name 0
and--nprocs
keywords in dask-worker cli (GH#3037) Matthew RocklinRemove lost workers from
SpecCluster.workers
(GH#2990) Guillaume Eynard-BontempsClean up
test_local.py::test_defaults
(GH#3017) Matthew RocklinReplace print statement in
Queue.__init__
with debug message (GH#3035) Mikhail AkimovSet the
x_range
limit of the Meory utilization plot to memory-limit (GH#3034) Matthew RocklinRely on cudf codebase for cudf serialization (GH#2998) Benjamin Zaitlen
Add support for zstandard compression to comms (GH#2970) Abael He
Avoid collision when using
os.environ
indashboard_link
(GH#3021) Matthew RocklinSupport Spec jobs that generate multiple workers (GH#3013) Matthew Rocklin
Better name for cudf deserialization function name (GH#3008) Benjamin Zaitlen
Make
spec.ProcessInterface
a valid no-op worker (GH#3004) Matthew RocklinReturn dictionaries from
new_worker_spec
rather than name/worker pairs (GH#3000) Matthew RocklinFix minor typo in documentation (GH#3002) Mohammad Noor
Permit more keyword options when scaling with cores and memory (GH#2997) Matthew Rocklin
Add
cuda_ipc
to UCX environment for NVLink (GH#2996) Benjamin ZaitlenAdd
threads=
andmemory=
to Cluster and Client reprs (GH#2995) Matthew RocklinFix PyNVML initialization (GH#2993) Richard J Zamora
2.3.2 - 2019-08-23¶
Skip exceptions in startup information (GH#2991) Jacob Tomlinson
2.3.1 - 2019-08-22¶
Add support for separate external address for SpecCluster scheduler (GH#2963) Jacob Tomlinson
Defer cudf serialization/deserialization to that library (GH#2881) Benjamin Zaitlen
Workaround for hanging test now calls ucp.fin() (GH#2967) Mads R. B. Kristensen
Directly import progress from diagnostics.progressbar (GH#2975) Matthew Rocklin
Handle buffer protocol objects in ensure_bytes (GH#2969) Tom Augspurger
Improve get_ip_interface error message when interface does not exist (GH#2964) Loïc Estève
Add cores= and memory= keywords to scale (GH#2974) Matthew Rocklin
Make workers robust to bad custom metrics (GH#2984) Matthew Rocklin
2.3.0 - 2019-08-16¶
Except all exceptions when checking
pynvml
(GH#2961) Matthew RocklinPass serialization down through small base collections (GH#2948) Peter Andreas Entschev
Use
pytest.warning(Warning)
rather thanException
(GH#2958) Matthew RocklinAllow
server_kwargs
to override defaults in dashboard (GH#2955) Bruce MerryUpdate
utils_perf.py
(GH#2954) Shayan AmaniNormalize names with
str
inretire_workers
(GH#2949) Matthew RocklinUpdate
client.py
(GH#2951) Shayan AmaniAdd
GPUCurrentLoad
dashboard plots (GH#2944) Matthew RocklinPass GPU diagnostics from worker to scheduler (GH#2932) Matthew Rocklin
Fixes Worker docstring formatting (GH#2939) James Bourbeau
Redirect setup docs to docs.dask.org (GH#2936) Matthew Rocklin
Wrap offload in
gen.coroutine
(GH#2934) Matthew RocklinChange
TCP.close
to a coroutine to avoid task pending warning (GH#2930) Matthew RocklinMove core functionality from
SpecCluster
toCluster
(GH#2913) Matthew RocklinAdd aenter/aexit protocols to
ProcessInterface
(GH#2927) Matthew RocklinAdd real-time CPU utilization plot to dashboard (GH#2922) Matthew Rocklin
Always kill processes in clean tests, even if we don’t check (GH#2924) Matthew Rocklin
Add timeouts to processes in SSH tests (GH#2925) Matthew Rocklin
Add documentation around
spec.ProcessInterface
(GH#2923) Matthew RocklinCleanup async warnings in tests (GH#2920) Matthew Rocklin
Give 404 when requesting nonexistent tasks or workers (GH#2921) Martin Durant
Raise informative warning when rescheduling an unknown task (GH#2916) James Bourbeau
Fix docstring (GH#2917) Martin Durant
Add keep-alive message between worker and scheduler (GH#2907) Matthew Rocklin
Rewrite
Adaptive
/SpecCluster
to support slowly arriving workers (GH#2904) Matthew RocklinCall heartbeat rather than reconnect on disconnection (GH#2906) Matthew Rocklin
2.2.0 - 2019-07-31¶
Respect security configuration in LocalCluster (GH#2822) Russ Bubley
Add Nanny to worker docs (GH#2826) Christian Hudon
Don’t make False add-keys report to scheduler (GH#2421) tjb900
Include type name in SpecCluster repr (GH#2834) Jacob Tomlinson
Extend prometheus metrics endpoint (GH#2833) Gabriel Sailer
Add alternative SSHCluster implementation (GH#2827) Matthew Rocklin
Dont reuse closed worker in get_worker (GH#2841) Pierre Glaser
SpecCluster: move init logic into start (GH#2850) Jacob Tomlinson
Document distributed.Reschedule in API docs (GH#2860) James Bourbeau
Add fsspec to installation of test builds (GH#2859) Martin Durant
Make await/start more consistent across Scheduler/Worker/Nanny (GH#2831) Matthew Rocklin
Add cleanup fixture for asyncio tests (GH#2866) Matthew Rocklin
Use only remote connection to scheduler in Adaptive (GH#2865) Matthew Rocklin
Add Server.finished async function (GH#2864) Matthew Rocklin
Align text and remove bullets in Client HTML repr (GH#2867) Matthew Rocklin
Test dask-scheduler –idle-timeout flag (GH#2862) Matthew Rocklin
Replace gen.coroutine with async/await in core (GH#2871) Matthew Rocklin
Forcefully kill all processes before each test (GH#2882) Matthew Rocklin
Cleanup Security class and configuration (GH#2873) Jim Crist
Remove unused variable in SpecCluster scale down (GH#2870) Jacob Tomlinson
Add SpecCluster ProcessInterface (GH#2874) Jacob Tomlinson
Add Log(str) and Logs(dict) classes for nice HTML reprs (GH#2875) Jacob Tomlinson
Pass Client._asynchronous to Cluster._asynchronous (GH#2890) Matthew Rocklin
Add default logs method to Spec Cluster (GH#2889) Matthew Rocklin
Add processes keyword back into clean (GH#2891) Matthew Rocklin
Update black (GH#2901) Matthew Rocklin
Move Worker.local_dir attribute to Worker.local_directory (GH#2900) Matthew Rocklin
Link from TapTools to worker info pages in dashboard (GH#2894) Matthew Rocklin
Avoid exception in Client._ensure_connected if closed (GH#2893) Matthew Rocklin
Convert Pythonic kwargs to CLI Keywords for SSHCluster (GH#2898) Matthew Rocklin
Use kwargs in CLI (GH#2899) Matthew Rocklin
Name SSHClusters by providing name= keyword to SpecCluster (GH#2903) Matthew Rocklin
Request feed of worker information from Scheduler to SpecCluster (GH#2902) Matthew Rocklin
Clear out compatibillity file (GH#2896) Matthew Rocklin
Remove future imports (GH#2897) Matthew Rocklin
Use click’s show_default=True in relevant places (GH#2838) Christian Hudon
Close workers more gracefully (GH#2905) Matthew Rocklin
Close workers gracefully with –lifetime keywords (GH#2892) Matthew Rocklin
Add closing <li> tags to Client._repr_html_ (GH#2911) Matthew Rocklin
Add endline spacing in Logs._repr_html_ (GH#2912) Matthew Rocklin
2.1.0 - 2019-07-08¶
Fix typo that prevented error message (GH#2825) Russ Bubley
Remove
dask-mpi
(GH#2824) Matthew RocklinUpdates to use
update_graph
in task journey docs (GH#2821) James BourbeauFix Client repr with
memory_info=None
(GH#2816) Matthew RocklinFix case where key, rather than
TaskState
, could end up ints.waiting_on
(GH#2819) tjb900Use Keyword-only arguments (GH#2814) Matthew Rocklin
Relax check for worker references in cluster context manager (GH#2813) Matthew Rocklin
Use
dask.utils.format_bytes
(GH#2810) Tom Augspurger
2.0.1 - 2019-06-26¶
We neglected to include python_requires=
in our setup.py file, resulting in
confusion for Python 2 users who erroneously get packages for 2.0.0.
This is fixed in 2.0.1 and we have removed the 2.0.0 files from PyPI.
Add python_requires entry to setup.py (GH#2807) Matthew Rocklin
Correctly manage tasks beyond deque limit in TaskStream plot (GH#2797) Matthew Rocklin
Fix diagnostics page for memory_limit=None (GH#2770) Brett Naul
2.0.0 - 2019-06-25¶
Drop support for Python 2
Relax warnings before release (GH#2796) Matthew Rocklin
Deprecate –bokeh/–no-bokeh CLI (GH#2800) Tom Augspurger
Typo in bokeh service_kwargs for dask-worker (GH#2783) Tom Augspurger
Update command line cli options docs (GH#2794) James Bourbeau
Remove “experimental” from TLS docs (GH#2793) James Bourbeau
Add warnings around ncores= keywords (GH#2791) Matthew Rocklin
Add –version option to scheduler and worker CLI (GH#2782) Tom Augspurger
Raise when workers initialization times out (GH#2784) Tom Augspurger
Replace ncores with nthreads throughout codebase (GH#2758) Matthew Rocklin
Add unknown pytest markers (GH#2764) Tom Augspurger
Delay lookup of allowed failures. (GH#2761) Tom Augspurger
Change address -> worker in ColumnDataSource for nbytes plot (GH#2755) Matthew Rocklin
Remove module state in Prometheus Handlers (GH#2760) Matthew Rocklin
Add stress test for UCX (GH#2759) Matthew Rocklin
Add nanny logs (GH#2744) Tom Augspurger
Move some of the adaptive logic into the scheduler (GH#2735) Matthew Rocklin
Add SpecCluster.new_worker_spec method (GH#2751) Matthew Rocklin
Worker dashboard fixes (GH#2747) Matthew Rocklin
Add async context managers to scheduler/worker classes (GH#2745) Matthew Rocklin
Fix the resource key representation before sending graphs (GH#2733) Michael Spiegel
Allow user to configure whether workers are daemon. (GH#2739) Caleb
Pin pytest >=4 with pip in appveyor and python 3.5 (GH#2737) Matthew Rocklin
Add Experimental UCX Comm (GH#2591) Ben Zaitlen Tom Augspurger Matthew Rocklin
Close nannies gracefully (GH#2731) Matthew Rocklin
add kwargs to progressbars (GH#2638) Manuel Garrido
Add back LocalCluster.__repr__. (GH#2732) Loïc Estève
Move bokeh module to dashboard (GH#2724) Matthew Rocklin
Close clusters at exit (GH#2730) Matthew Rocklin
Add SchedulerPlugin TaskState example (GH#2622) Matt Nicolls
Add SpecificationCluster (GH#2675) Matthew Rocklin
Replace register_worker_callbacks with worker plugins (GH#2453) Matthew Rocklin
Proxy worker dashboards from scheduler dashboard (GH#2715) Ben Zaitlen
Add docstring to Scheduler.check_idle_saturated (GH#2721) Matthew Rocklin
Refer to LocalCluster in Client docstring (GH#2719) Matthew Rocklin
Remove special casing of Scikit-Learn BaseEstimator serialization (GH#2713) Matthew Rocklin
Fix two typos in Pub class docstring (GH#2714) Magnus Nord
Support uploading files with multiple modules (GH#2587) Sam Grayson
Change the main workers bokeh page to /status (GH#2689) Ben Zaitlen
Cleanly stop periodic callbacks in Client (GH#2705) Matthew Rocklin
Disable pan tool for the Progress, Byte Stored and Tasks Processing plot (GH#2703) Mathieu Dugré
Except errors in Nanny’s memory monitor if process no longer exists (GH#2701) Matthew Rocklin
Handle heartbeat when worker has just left (GH#2702) Matthew Rocklin
Modify styling of histograms for many-worker dashboard plots (GH#2695) Mathieu Dugré
Add method to wait for n workers before continuing (GH#2688) Daniel Farrell
Support computation on delayed(None) (GH#2697) Matthew Rocklin
Cleanup localcluster (GH#2693) Matthew Rocklin
Use ‘temporary-directory’ from dask.config for Worker’s directory (GH#2654) Matthew Rocklin
Remove support for Iterators and Queues (GH#2671) Matthew Rocklin
1.28.1 - 2019-05-13¶
This is a small bugfix release due to a config change upstream.
Use config accessor method for “scheduler-address” (GH#2676) James Bourbeau
1.28.0 - 2019-05-08¶
Add Type Attribute to TaskState (GH#2657) Matthew Rocklin
Add waiting task count to progress title bar (GH#2663) James Bourbeau
DOC: Clean up reference to cluster object (GH#2664) K.-Michael Aye
Allow scheduler to politely close workers as part of shutdown (GH#2651) Matthew Rocklin
Check direct_to_workers before using get_worker in Client (GH#2656) Matthew Rocklin
Fixed comment regarding keeping existing level if less verbose (GH#2655) Brett Randall
Add idle timeout to scheduler (GH#2652) Matthew Rocklin
Avoid deprecation warnings (GH#2653) Matthew Rocklin
Use an LRU cache for deserialized functions (GH#2623) Matthew Rocklin
Rename Worker._close to Worker.close (GH#2650) Matthew Rocklin
Add Comm closed bookkeeping (GH#2648) Matthew Rocklin
Explain LocalCluster behavior in Client docstring (GH#2647) Matthew Rocklin
Add last worker into KilledWorker exception to help debug (GH#2610) @plbertrand
Set working worker class for dask-ssh (GH#2646) Martin Durant
Limit test_spill_by_default memory, reenable it (GH#2633) Peter Andreas Entschev
Use proper address in worker -> nanny comms (GH#2640) Jim Crist
Fix deserialization of bytes chunks larger than 64MB (GH#2637) Peter Andreas Entschev
1.27.1 - 2019-04-29¶
Adaptive: recommend close workers when any are idle (GH#2330) Michael Delgado
Increase GC thresholds (GH#2624) Matthew Rocklin
Add interface= keyword to LocalCluster (GH#2629) Matthew Rocklin
Add worker_class argument to LocalCluster (GH#2625) Matthew Rocklin
Remove Python 2.7 from testing matrix (GH#2631) Matthew Rocklin
Add number of trials to diskutils test (GH#2630) Matthew Rocklin
Fix parameter name in LocalCluster docstring (GH#2626) Loïc Estève
Integrate stacktrace for low-level profiling (GH#2575) Peter Andreas Entschev
Apply Black to standardize code styling (GH#2614) Matthew Rocklin
added missing whitespace to start_worker cmd (GH#2613) condoratberlin
Updated logging module doc links from docs.python.org/2 to docs.python.org/3. (GH#2635) Brett Randall
1.27.0 - 2019-04-12¶
Add basic health endpoints to scheduler and worker bokeh. (GH#2607) amerkel2
Improved description accuracy of –memory-limit option. (GH#2601) Brett Randall
Check self.dependencies when looking at dependent tasks in memory (GH#2606) deepthirajagopalan7
Add RabbitMQ SchedulerPlugin example (GH#2604) Matt Nicolls
add resources to scheduler update_graph plugin (GH#2603) Matt Nicolls
Use ensure_bytes in serialize_error (GH#2588) Matthew Rocklin
Specify data storage explicitly from Worker constructor (GH#2600) Matthew Rocklin
Change bokeh port keywords to dashboard_address (GH#2589) Matthew Rocklin
.detach_() pytorch tensor to serialize data as numpy array. (GH#2586) Muammar El Khatib
Add warning if creating scratch directories takes a long time (GH#2561) Matthew Rocklin
Fix typo in pub-sub doc. (GH#2599) Loïc Estève
Allow return_when=’FIRST_COMPLETED’ in wait (GH#2598) Nikos Tsaousis
Use ensure_dict instead of dict (GH#2594) James Bourbeau
Specify protocol in LocalCluster (GH#2489) Matthew Rocklin
1.26.1 - 2019-03-29¶
Fix LocalCluster to not overallocate memory when overcommitting threads per worker (GH#2541) George Sakkis
Make closing resilient to lacking an address (GH#2542) Matthew Rocklin
fix typo in comment (GH#2546) Brett Jurman
Fix double init of prometheus metrics (GH#2544) Marco Neumann
Skip test_duplicate_clients without bokeh. (GH#2553) Elliott Sales de Andrade
Add blocked_handlers to servers (GH#2556) Chris White
Always yield Server.handle_comm coroutine (GH#2559) Tom Augspurger
Use yaml.safe_load (GH#2566) Matthew Rocklin
Fetch executables from build root. (GH#2551) Elliott Sales de Andrade
Fix Torando 6 test failures (GH#2570) Matthew Rocklin
Fix test_sync_closed_loop (GH#2572) Matthew Rocklin
1.26.0 - 2019-02-25¶
Update style to fix recent flake8 update (GH#2500) (GH#2509) Matthew Rocklin
Fix typo in gen_cluster log message (GH#2503) Loïc Estève
Allow KeyError when closing event loop (GH#2498) Matthew Rocklin
Avoid thread testing for TCP ThreadPoolExecutor (GH#2510) Matthew Rocklin
Avoid AttributeError when closing and sending a message (GH#2514) Matthew Rocklin
Add deprecation warning to dask_mpi.py (GH#2522) Julia Kent
Relax statistical profiling test (GH#2527) Matthew Rocklin
Support alternative –remote-dask-worker SSHCluster() and dask-ssh CLI (GH#2526) Adam Beberg
Iterate over full list of plugins in transition (GH#2518) Matthew Rocklin
Create Prometheus Endpoint (GH#2499) Adam Beberg
Use pytest.importorskip for prometheus test (GH#2533) Matthew Rocklin
MAINT skip prometheus test when no installed (GH#2534) Olivier Grisel
Fix intermittent testing failures (GH#2535) Matthew Rocklin
Avoid using nprocs keyword in dask-ssh if set to one (GH#2531) Matthew Rocklin
Bump minimum Tornado version to 5.0
1.25.3 - 2019-01-31¶
Fix excess threading on missing connections (GH#2403) Daniel Farrell
Fix typo in doc (GH#2457) Loïc Estève
Start fewer but larger workers with LocalCluster (GH#2452) Matthew Rocklin
Check for non-zero
length
first inread
loop (GH#2465) John KirkhamDOC: Use of local cluster in script (GH#2462) Peter Killick
DOC/API: Signature for base class write / read (GH#2472) Tom Augspurger
Support Pytest 4 in Tests (GH#2478) Adam Beberg
Ensure async behavior in event loop with LocalCluster (GH#2484) Matthew Rocklin
Fix spurious CancelledError (GH#2485) Loïc Estève
Properly reset dask.config scheduler and shuffle when closing the client (GH#2475) George Sakkis
Make it more explicit that resources are per worker. (GH#2470) Loïc Estève
Remove references to center (GH#2488) Matthew Rocklin
Expand client clearing timeout to 10s in testing (GH#2493) Matthew Rocklin
Propagate key keyword in progressbar (GH#2492) Matthew Rocklin
Use provided cluster’s IOLoop if present in Client (GH#2494) Matthew Rocklin
1.25.2 - 2019-01-04¶
Clean up LocalCluster logging better in async mode (GH#2448) Matthew Rocklin
Add short error message if bokeh cannot be imported (GH#2444) Dirk Petersen
Add optional environment variables to Nanny (GH#2431) Matthew Rocklin
Make the direct keyword docstring entries uniform (GH#2441) Matthew Rocklin
Make LocalCluster.close async friendly (GH#2437) Matthew Rocklin
gather_dep: don’t request dependencies we already found out we don’t want (GH#2428) tjb900
Add parameters to Client.run docstring (GH#2429) Matthew Rocklin
Support coroutines and async-def functions in run/run_scheduler (GH#2427) Matthew Rocklin
Name threads in ThreadPoolExecutors (GH#2408) Matthew Rocklin
1.25.1 - 2018-12-15¶
Serialize numpy.ma.masked objects properly (GH#2384) Jim Crist
Turn off bokeh property validation in dashboard (GH#2387) Jim Crist
Fix typo in scheduler docstring (GH#2393) Russ Bubley
DOC: fix typo in distributed.worker.Worker docstring (GH#2395) Loïc Estève
Remove clients and workers from event log after removal (GH#2394) tjb900
Support msgpack 0.6.0 by providing length keywords (GH#2399) tjb900
Use async-await on large messages test (GH#2404) Matthew Rocklin
Fix race condition in normalize_collection (GH#2386) Jim Crist
Fix redict collection after HighLevelGraph fix upstream (GH#2413) Matthew Rocklin
Add a blocking argument to Lock.acquire() (GH#2412) Stephan Hoyer
Fix long traceback test (GH#2417) Matthew Rocklin
Update x509 certificates to current OpenSSL standards. (GH#2418) Diane Trout
1.25.0 - 2018-11-28¶
Fixed the 404 error on the Scheduler Dashboard homepage (GH#2361) Michael Wheeler
Consolidate two Worker classes into one (GH#2363) Matthew Rocklin
Avoid warnings in pyarrow and msgpack (GH#2364) Matthew Rocklin
Avoid race condition in Actor’s Future (GH#2374) Matthew Rocklin
Support missing packages keyword in Client.get_versions (GH#2379) Matthew Rocklin
1.24.2 - 2018-11-15¶
Add support for Bokeh 1.0 (GH#2348) (GH#2356) Matthew Rocklin
Fix regression that dropped support for Tornado 4 (GH#2353) Roy Wedge
Avoid deprecation warnings (GH#2355) (GH#2357) Matthew Rocklin
Fix typo in worker documentation (GH#2349) Tom Rochette
1.24.1 - 2018-11-09¶
Use tornado’s builtin AnyThreadLoopEventPolicy (GH#2326) Matthew Rocklin
Adjust TLS tests for openssl 1.1 (GH#2331) Marius van Niekerk
Avoid setting event loop policy if within Jupyter notebook server (GH#2343) Matthew Rocklin
Add preload script to conf (GH#2325) Guillaume Eynard-Bontemps
Add serializer for Numpy masked arrays (GH#2335) Peter Killick
Use worker SSL context when getting client from worker. (GH#2301) Anonymous
1.24.0 - 2018-10-26¶
Remove Joblib Dask Backend from codebase (GH#2298) Matthew Rocklin
Include worker tls protocol in Scheduler.restart (GH#2295) Matthew Rocklin
Adapt to new Bokeh selection for 1.0 (GH#2292) Matthew Rocklin
Add explicit retry method to Future and Client (GH#2299) Matthew Rocklin
Point to main worker page in bokeh links (GH#2300) Matthew Rocklin
Limit concurrency when gathering many times (GH#2303) Matthew Rocklin
Add tls_cluster pytest fixture (GH#2302) Matthew Rocklin
Convert ConnectionPool.open and active to properties (GH#2304) Matthew Rocklin
Redirect joblib page to dask-ml (GH#2307) Matthew Rocklin
Include unserializable object in error message (GH#2310) Matthew Rocklin
Import Mapping, Iterator, Set from collections.abc in Python 3 (GH#2315) Gaurav Sheni
Update for new flake8 (GH#2321) Matthew Rocklin
1.23.3 - 2018-10-05¶
Err in dask serialization if not a NotImplementedError (GH#2251) Matthew Rocklin
Protect against key missing from priority in GraphLayout (GH#2259) Matthew Rocklin
Do not pull data twice in Client.gather (GH#2263) Adam Klein
Add pytest fixture for cluster tests (GH#2262) Matthew Rocklin
Cleanup bokeh callbacks (GH#2261) (GH#2278) Matthew Rocklin
Fix bokeh error for memory_limit=None (GH#2255) Brett Naul
Place large keywords into task graph in Client.map (GH#2281) Matthew Rocklin
Remove redundant blosc threading code from protocol.numpy (GH#2284) Mike Gevaert
Add ncores to workertable (GH#2289) Matthew Rocklin
Support upload_file on files with no extension (GH#2290) Matthew Rocklin
1.23.2 - 2018-09-17¶
Discard dependent rather than remove (GH#2250) Matthew Rocklin
Use dask_sphinx_theme Matthew Rocklin
Drop the Bokeh index page (GH#2241) John Kirkham
Revert change to keep link relative (GH#2242) Matthew Rocklin
docs: Fix broken AWS link in setup.rst file (GH#2240) Vladyslav Moisieienkov
Return cancelled futures in as_completed (GH#2233) Chris White
1.23.1 - 2018-09-06¶
Raise informative error when mixing futures between clients (GH#2227) Matthew Rocklin
add byte_keys to unpack_remotedata call (GH#2232) Matthew Rocklin
Add documentation for gist/rawgit for get_task_stream (GH#2236) Matthew Rocklin
Quiet Client.close by waiting for scheduler stop signal (GH#2237) Matthew Rocklin
Display system graphs nicely on different screen sizes (GH#2239) Derek Ludwig
Mutate passed in workers dict in TaskStreamPlugin.rectangles (GH#2238) Matthew Rocklin
1.23.0 - 2018-08-30¶
Add direct_to_workers to Client Matthew Rocklin
Add Scheduler.proxy to workers Matthew Rocklin
Implement Actors Matthew Rocklin
Fix tooltip (GH#2168) Loïc Estève
Fix scale / avoid returning coroutines (GH#2171) Joe Hamman
Concatenate all bytes of small messages in TCP comms (GH#2172) Matthew Rocklin
Add dashboard_link property (GH#2176) Jacob Tomlinson
Always offload to_frames (GH#2170) Matthew Rocklin
Warn if desired port is already in use (GH#2191) (GH#2199) Matthew Rocklin
Add profile page for event loop thread (GH#2144) Matthew Rocklin
Use dispatch for dask serialization, also add sklearn, pytorch (GH#2175) Matthew Rocklin
Handle corner cases with busy signal (GH#2182) Matthew Rocklin
Check self.dependencies when looking at tasks in memory (GH#2196) Matthew Rocklin
Add ability to log additional custom metrics from each worker (GH#2169) Loïc Estève
Fix formatting when port is a tuple (GH#2204) Loïc Estève
Describe what ZeroMQ is (GH#2211) Mike DePalatis
Tiny typo fix (GH#2214) Anderson Banihirwe
Add Python 3.7 to travis.yml (GH#2203) Matthew Rocklin
Add plot= keyword to get_task_stream (GH#2198) Matthew Rocklin
Add support for optional versions in Client.get_versions (GH#2216) Matthew Rocklin
Add routes for solo bokeh figures in dashboard (GH#2185) Matthew Rocklin
Be resilient to missing dep after busy signal (GH#2217) Matthew Rocklin
Use CSS Grid to layout status page on the dashboard (GH#2213) Derek Ludwig and Luke Canavan
Fix deserialization of queues on main ioloop thread (GH#2221) Matthew Rocklin
Add a worker initialization function (GH#2201) Guillaume Eynard-Bontemps
Collapse navbar in dashboard (GH#2223) Luke Canavan
1.22.1 - 2018-08-03¶
Add worker_class= keyword to Nanny to support different worker types (GH#2147) Martin Durant
Cleanup intermittent worker failures (GH#2152) (GH#2146) Matthew Rocklin
Fix msgpack PendingDeprecationWarning for encoding=’utf-8’ (GH#2153) Olivier Grisel
Make bokeh coloring deterministic using hash function (GH#2143) Matthew Rocklin
Allow client to query the task stream plot (GH#2122) Matthew Rocklin
Use PID and counter in thread names (GH#2084) (GH#2128) Dror Birkman
Test that worker restrictions are cleared after cancellation (GH#2107) Matthew Rocklin
Expand resources in graph_to_futures (GH#2131) Matthew Rocklin
Add custom serialization support for pyarrow (GH#2115) Dave Hirschfeld
Update dask-scheduler cli help text for preload (GH#2120) Matt Nicolls
Added another nested parallelism test (GH#1710) Tom Augspurger
insert newline by default after TextProgressBar (GH#1976) Phil Tooley
Retire workers from scale (GH#2104) Matthew Rocklin
Allow worker to refuse data requests with busy signal (GH#2092) Matthew Rocklin
Don’t forget released keys (GH#2098) Matthew Rocklin
Update example for stopping a worker (GH#2088) John Kirkham
removed hardcoded value of memory terminate fraction from a log message (GH#2096) Bartosz Marcinkowski
Adjust worker doc after change in config file location and treatment (GH#2094) Aurélien Ponte
Prefer gathering data from same host (GH#2090) Matthew Rocklin
Handle exceptions on deserialized comm with text error (GH#2093) Matthew Rocklin
Fix typo in docstring (GH#2087) Loïc Estève
Provide communication context to serialization functions (GH#2054) Matthew Rocklin
Allow name to be explicitly passed in publish_dataset (GH#1995) Marius van Niekerk
Avoid accessing Worker.scheduler_delay around yield point (GH#2074) Matthew Rocklin
Support TB and PB in format bytes (GH#2072) Matthew Rocklin
Add test for as_completed for loops in Python 2 (GH#2071) Matthew Rocklin
Allow adaptive to exist without a cluster (GH#2064) Matthew Rocklin
Have worker data transfer wait until recipient acknowledges (GH#2052) Matthew Rocklin
Support async def functions in Client.sync (GH#2070) Matthew Rocklin
Add asynchronous parameter to docstring of LocalCluster Matthew Rocklin
Normalize address before comparison (GH#2066) Tom Augspurger
Use ConnectionPool for Worker.scheduler Matthew Rocklin
Avoid reference cycle in str_graph Matthew Rocklin
Pull data outside of while loop in gather (GH#2059) Matthew Rocklin
1.22.0 - 2018-06-14¶
Overhaul configuration (GH#1948) Matthew Rocklin
Replace get= keyword with scheduler= (GH#1959) Matthew Rocklin
Use tuples in msgpack (GH#2000) Matthew Rocklin and Marius van Niekerk
Unify handling of high-volume connections (GH#1970) Matthew Rocklin
Automatically scatter large arguments in joblib connector (GH#2020) (GH#2030) Olivier Grisel
Turn click Python 3 locales failure into a warning (GH#2001) Matthew Rocklin
Rely on dask implementation of sizeof (GH#2042) Matthew Rocklin
Replace deprecated workers.iloc with workers.values() (GH#2013) Grant Jenks
Introduce serialization families (GH#1912) Matthew Rocklin
Add PubSub (GH#1999) Matthew Rocklin
Add Dask stylesheet to documentation Matthew Rocklin
Avoid recomputation on partially-complete results (GH#1840) Matthew Rocklin
Use sys.prefix in popen for testing (GH#1954) Matthew Rocklin
Include yaml files in manifest Matthew Rocklin
Use self.sync so Client.processing works in asynchronous context (GH#1962) Henry Doupe
Fix bug with bad repr on closed client (GH#1965) Matthew Rocklin
Parse –death-timeout keyword in dask-worker (GH#1967) Matthew Rocklin
Support serializers in BatchedSend (GH#1964) Matthew Rocklin
Use normal serialization mechanisms to serialize published datasets (GH#1972) Matthew Rocklin
Add security support to LocalCluster. (GH#1855) Marius van Niekerk
add ConnectionPool.remove method (GH#1977) Tony Lorenzo
Cleanly close workers when scheduler closes (GH#1981) Matthew Rocklin
add comm to packages (GH#1980) Matthew Rocklin
Replace dask.set_options with dask.config.set Matthew Rocklin
Exclude versions of sortedcontainers which do not have .iloc. (GH#1993) Russ Bubley
Exclude gc statistics under PyPy (GH#1997) Marius van Niekerk
Manage recent config and dataframe changes in dask (GH#2009) Matthew Rocklin
Cleanup lingering clients in tests (GH#2012) Matthew Rocklin
Use timeouts during Client._ensure_connected (GH#2011) Martin Durant
Avoid reference cycle in joblib backend (GH#2014) Matthew Rocklin, also Olivier Grisel
DOC: fixed test example (GH#2017) Tom Augspurger
Add worker_key parameter to Adaptive (GH#1992) Matthew Rocklin
Prioritize tasks with their true keys, before stringifying (GH#2006) Matthew Rocklin
Serialize worker exceptions through normal channels (GH#2016) Matthew Rocklin
Include exception in progress bar (GH#2028) Matthew Rocklin
Avoid logging orphaned futures in All (GH#2008) Matthew Rocklin
Don’t use spill-to-disk dictionary if we’re not spilling to disk Matthew Rocklin
Only avoid recomputation if key exists (GH#2036) Matthew Rocklin
Use client connection and serialization arguments in progress (GH#2035) Matthew Rocklin
Rejoin worker client on closing context manager (GH#2041) Matthew Rocklin
Avoid forgetting erred tasks when losing dependencies (GH#2047) Matthew Rocklin
Avoid collisions in graph_layout (GH#2050) Matthew Rocklin
Avoid recursively calling bokeh callback in profile plot (GH#2048) Matthew Rocklin
1.21.8 - 2018-05-03¶
Remove errant print statement (GH#1957) Matthew Rocklin
Only add reevaluate_occupancy callback once (GH#1953) Tony Lorenzo
1.21.7 - 2018-05-02¶
Newline needed for doctest rendering (GH#1917) Loïc Estève
Support Client._repr_html_ when in async mode (GH#1909) Matthew Rocklin
Add parameters to dask-ssh command (GH#1910) Irene Rodriguez
Sanitize get_dataset trace (GH#1888) John Kirkham
Fix bug where queues would not clean up cleanly (GH#1922) Matthew Rocklin
Delete cached file safely in upload file (GH#1921) Matthew Rocklin
Accept KeyError when closing tornado IOLoop in tests (GH#1937) Matthew Rocklin
Quiet the client and scheduler when gather(…, errors=’skip’) (GH#1936) Matthew Rocklin
Clarify couldn’t gather keys warning (GH#1942) Kenneth Koski
Support submit keywords in joblib (GH#1947) Matthew Rocklin
Avoid use of external resources in bokeh server (GH#1934) Matthew Rocklin
Drop __contains__ from Datasets (GH#1889) John Kirkham
Fix bug with queue timeouts (GH#1950) Matthew Rocklin
Replace msgpack-python by msgpack (GH#1927) Loïc Estève
1.21.6 - 2018-04-06¶
Fix numeric environment variable configuration (GH#1885) Joseph Atkins-Kurkish
support bytearrays in older lz4 library (GH#1886) Matthew Rocklin
Remove started timeout in nanny (GH#1852) Matthew Rocklin
Don’t log errors in sync (GH#1894) Matthew Rocklin
downgrade stale lock warning to info logging level (GH#1890) Matthew Rocklin
Fix
UnboundLocalError
forkey
(GH#1900) John KirkhamResolve deployment issues in Python 2 (GH#1905) Matthew Rocklin
Support retries and priority in Client.get method (GH#1902) Matthew Rocklin
Add additional attributes to task page if applicable (GH#1901) Matthew Rocklin
Add count method to as_completed (GH#1897) Matthew Rocklin
Extend default timeout to 10s (GH#1904) Matthew Rocklin
1.21.5 - 2018-03-31¶
Increase default allowable tick time to 3s (GH#1854) Matthew Rocklin
Handle errant workers when another worker has data (GH#1853) Matthew Rocklin
Close multiprocessing queue in Nanny to reduce open file descriptors (GH#1862) Matthew Rocklin
Extend nanny started timeout to 30s, make configurable (GH#1865) Matthew Rocklin
Comment out the default config file (GH#1871) Matthew Rocklin
Update to fix bokeh 0.12.15 update errors (GH#1872) Matthew Rocklin
Downgrade Event Loop unresponsive warning to INFO level (GH#1870) Matthew Rocklin
Add fifo timeout to control priority generation (GH#1828) Matthew Rocklin
Add retire_workers API to Client (GH#1876) Matthew Rocklin
Catch NoSuchProcess error in Nanny.memory_monitor (GH#1877) Matthew Rocklin
Add uid to nanny queue communications (GH#1880) Matthew Rocklin
1.21.4 - 2018-03-21¶
Avoid passing bytearrays to snappy decompression (GH#1831) Matthew Rocklin
Specify IOLoop in Adaptive (GH#1841) Matthew Rocklin
Use connect-timeout config value throughout client (GH#1839) Matthew Rocklin
Support direct= keyword argument in Client.get (GH#1845) Matthew Rocklin
1.21.3 - 2018-03-08¶
Add cluster superclass and improve adaptivity (GH#1813) Matthew Rocklin
Fixup tests and support Python 2 for Tornado 5.0 (GH#1818) Matthew Rocklin
Fix bug in recreate_error when dependencies are dropped (GH#1815) Matthew Rocklin
Add worker time to live in Scheduler (GH#1811) Matthew Rocklin
Scale adaptive based on total_occupancy (GH#1807) Matthew Rocklin
Support calling compute within worker_client (GH#1814) Matthew Rocklin
Add percentage to profile plot (GH#1817) Brett Naul
Overwrite option for remote python in dask-ssh (GH#1812) Sven Kreiss
1.21.2 - 2018-03-05¶
Fix bug where we didn’t check idle/saturated when stealing (GH#1801) Matthew Rocklin
Fix bug where client was noisy when scheduler closed unexpectedly (GH#1806) Matthew Rocklin
Use string-based timedeltas (like
'500 ms'
) everywhere (GH#1804) Matthew RocklinKeep logs in scheduler and worker even if silenced (GH#1803) Matthew Rocklin
Support minimum, maximum, wait_count keywords in Adaptive (GH#1797) Jacob Tomlinson and Matthew Rocklin
Support async protocols for LocalCluster, replace start= with asynchronous= (GH#1798) Matthew Rocklin
Avoid restarting workers when nanny waits on scheduler (GH#1793) Matthew Rocklin
Use
IOStream.read_into()
when available (GH#1477) Antoine PitrouReduce LocalCluster logging threshold from CRITICAL to WARN (GH#1785) Andy Jones
Add futures_of to API docs (GH#1783) John Kirkham
Make diagnostics link in client configurable (GH#1810) Matthew Rocklin
1.21.1 - 2018-02-22¶
Fixed an uncaught exception in
distributed.joblib
with aLocalCluster
using only threads (GH#1775) Tom AugspurgerFormat bytes in info worker page (GH#1752) Matthew Rocklin
Add pass-through arguments for scheduler/worker –preload modules. (GH#1634) Alex Ford
Use new LZ4 API (GH#1757) Thrasibule
Replace dask.optimize with dask.optimization (GH#1754) Matthew Rocklin
Add graph layout engine and bokeh plot (GH#1756) Matthew Rocklin
Only expand name with –nprocs if name exists (GH#1776) Matthew Rocklin
specify IOLoop for stealing PeriodicCallback (GH#1777) Matthew Rocklin
Fixed distributed.joblib with no processes Tom Augspurger
Use set.discard to avoid KeyErrors in stealing (GH#1766) Matthew Rocklin
Avoid KeyError when task has been released during steal (GH#1765) Matthew Rocklin
Add versions routes to avoid the use of run in Client.get_versions (GH#1773) Matthew Rocklin
Add write_scheduler_file to Client (GH#1778) Joe Hamman
Default host to tls:// if tls information provided (GH#1780) Matthew Rocklin
1.21.0 - 2018-02-09¶
Refactor scheduler to use TaskState objects rather than dictionaries (GH#1594) Antoine Pitrou
Plot CPU fraction of total in workers page (GH#1624) Matthew Rocklin
Use thread CPU time in Throttled GC (GH#1625) Antoine Pitrou
Fix bug with
memory_limit=None
(GH#1639) Matthew RocklinAdd futures_of to top level api (GH#1646) Matthew Rocklin
Warn on serializing large data in Client (GH#1636) Matthew Rocklin
Fix intermittent windows failure when removing lock file (GH#1652) Antoine Pitrou
Add diagnosis and logging of poor GC Behavior (GH#1635) Antoine Pitrou
Add client-scheduler heartbeats (GH#1657) Matthew Rocklin
Return dictionary of worker info in
retire_workers
(GH#1659) Matthew RocklinEnsure dumps_function works with unhashable functions (GH#1662) Matthew Rocklin
Collect client name ids rom client-name config variable (GH#1664) Matthew Rocklin
Allow simultaneous use of –name and –nprocs in dask-worker (GH#1665) Matthew Rocklin
Add support for grouped adaptive scaling and adaptive behavior overrides (GH#1632) Alex Ford
Share scheduler RPC between worker and client (GH#1673) Matthew Rocklin
Improve documentation for get_client and dask.compute examples (GH#1638) Scott Sievert
Support DASK_SCHEDULER_ADDRESS environment variable in worker (GH#1680) Matthew Rocklin
Support tuple-keys in retries (GH#1681) Matthew Rocklin
Use relative links in bokeh dashboard (GH#1682) Matthew Rocklin
Make message log length configurable, default to zero (GH#1691) Matthew Rocklin
Deprecate
Client.shutdown
(GH#1699) Matthew RocklinAdd warning in configuration docs to install pyyaml (GH#1701) Cornelius Riemenschneider
Handle nested parallelism in distributed.joblib (GH#1705) Tom Augspurger
Don’t wait for Worker.executor to shutdown cleanly when restarting process (GH#1708) Matthew Rocklin
Add support for user defined priorities (GH#1651) Matthew Rocklin
Catch and log OSErrors around worker lock files (GH#1714) Matthew Rocklin
Remove worker prioritization. Coincides with changes to dask.order (GH#1730) Matthew Rocklin
Use process-measured memory rather than nbytes in Bokeh dashboard (GH#1737) Matthew Rocklin
Enable serialization of Locks (GH#1738) Matthew Rocklin
Support Tornado 5 beta (GH#1735) Matthew Rocklin
Cleanup remote_magic client cache after tests (GH#1743) Min RK
Allow service ports to be specified as (host, port) (GH#1744) Bruce Merry
1.20.2 - 2017-12-07¶
Clear deque handlers after each test (GH#1586) Antoine Pitrou
Handle deserialization in FutureState.set_error (GH#1592) Matthew Rocklin
Add process leak checker to tests (GH#1596) Antoine Pitrou
Customize process title for subprocess (GH#1590) Antoine Pitrou
Make linting a separate CI job (GH#1599) Antoine Pitrou
Fix error from get_client() with no global client (GH#1595) Daniel Li
Remove Worker.host_health, correct WorkerTable metrics (GH#1600) Matthew Rocklin
Don’t mark tasks as suspicious when retire_workers called. Addresses (GH#1607) Russ Bubley
Do not include processing workers in workers_to_close (GH#1609) Russ Bubley
Disallow simultaneous scale up and down in Adaptive (GH#1608) Russ Bubley
Parse bytestrings in –memory-limit (GH#1615) Matthew Rocklin
Use environment variable for scheduler address if present (GH#1610) Matthew Rocklin
Fix deprecation warning from logger.warn (GH#1616) Brett Naul
1.20.1 - 2017-11-26¶
Wrap
import ssl
statements with try-except block for ssl-crippled environments, (GH#1570) Xander JohnsonSupport zero memory-limit in Nanny (GH#1571) Matthew Rocklin
Avoid PeriodicCallback double starts (GH#1573) Matthew Rocklin
Add disposable workspace facility (GH#1543) Antoine Pitrou
Use format_time in task_stream plots (GH#1575) Matthew Rocklin
Avoid delayed finalize calls in compute (GH#1577) Matthew Rocklin
Doc fix about secede (GH#1583) Scott Sievert
Add tracemalloc option when tracking test leaks (GH#1585) Antoine Pitrou
Add JSON routes to Bokeh server (GH#1584) Matthew Rocklin
Handle exceptions cleanly in Variables and Queues (GH#1580) Matthew Rocklin
1.20.0 - 2017-11-17¶
Drop use of pandas.msgpack (GH#1473) Matthew Rocklin
Add methods to get/set scheduler metadata Matthew Rocklin
Add distributed lock Matthew Rocklin
Add reschedule exception for worker tasks Matthew Rocklin
Fix
nbytes()
forbytearrays
Matthew RocklinCapture scheduler and worker logs Matthew Rocklin
Garbage collect after data eviction on high worker memory usage (GH#1488) Olivier Grisel
Add scheduler HTML routes to bokeh server (GH#1478) (GH#1514) Matthew Rocklin
Add pytest plugin to test for resource leaks (GH#1499) Antoine Pitrou
Improve documentation for scheduler states (GH#1498) Antoine Pitrou
Correct warn_if_longer timeout in ThrottledGC (GH#1496) Fabian Keller
Catch race condition in as_completed on cancelled futures (GH#1507) Matthew Rocklin
Transactional work stealing (GH#1489) (GH#1528) Matthew Rocklin
Avoid forkserver in PyPy (GH#1509) Matthew Rocklin
Add dict access to get/set datasets (GH#1508) Mike DePalatis
Support Tornado 5 (GH#1509) (GH#1512) (GH#1518) (GH#1534) Antoine Pitrou
Use new Dask collections interface (GH#1513) Matthew Rocklin
Add nanny flag to dask-mpi Matthew Rocklin
Remove JSON-based HTTP servers Matthew Rocklin
Avoid doing I/O in repr/str (GH#1536) Matthew Rocklin
Fix URL for MPI4Py project (GH#1546) Ian Hopkinson
Allow automatic retries of a failed task (GH#1524) Antoine Pitrou
Clean and accelerate tests (GH#1548) (GH#1549) (GH#1552) (GH#1553) (GH#1560) (GH#1564) Antoine Pitrou
Move HDFS functionality to the hdfs3 library (GH#1561) Jim Crist
Fix bug when using events page with no events (GH#1562) @rbubley
Improve diagnostic naming of tasks within tuples (GH#1566) Kelvyn Yang
1.19.3 - 2017-10-16¶
1.19.2 - 2017-10-06¶
as_completed doesn’t block on cancelled futures (GH#1436)
Notify waiting threads/coroutines on cancellation (GH#1438)
Set Future(inform=True) as default (GH#1437)
Rename Scheduler.transition_story to story (GH#1445)
Future uses default client by default (GH#1449)
Add keys= keyword to Client.call_stack (GH#1446)
Add get_current_task to worker (GH#1444)
Ensure that Client remains asynchronous before ioloop starts (GH#1452)
Remove “click for worker page” in bokeh plot (GH#1453)
Add Client.current() (GH#1450)
Clean handling of restart timeouts (GH#1442)
1.19.1 - 2017-09-25¶
1.19.0 - 2017-09-24¶
Avoid storing messages in message log (GH#1361)
fileConfig does not disable existing loggers (GH#1380)
Offload upload_file disk I/O to separate thread (GH#1383)
Add missing SSLContext (GH#1385)
Collect worker thread information from sys._curent_frames (GH#1387)
Add nanny timeout (GH#1395)
Restart worker if memory use goes above 95% (GH#1397)
Track workers memory use with psutil (GH#1398)
Track scheduler delay times in workers (GH#1400)
Add time slider to profile plot (GH#1403)
Change memory-limit keyword to refer to maximum number of bytes (GH#1405)
Add
cancel(force=)
keyword (GH#1408)
1.18.2 - 2017-09-02¶
1.18.1 - 2017-08-25¶
Clean up forgotten keys in fire-and-forget workloads (GH#1250)
Handle missing extensions (GH#1263)
Allow recreate_exception on persisted collections (GH#1253)
Add asynchronous= keyword to blocking client methods (GH#1272)
Restrict to horizontal panning in bokeh plots (GH#1274)
Rename client.shutdown to client.close (GH#1275)
Avoid blocking on event loop (GH#1270)
Avoid cloudpickle errors for Client.get_versions (GH#1279)
Yield on Tornado IOStream.write futures (GH#1289)
Assume async behavior if inside a sync statement (GH#1284)
Avoid error messages on closing (GH#1297), (GH#1296) (GH#1318) (GH#1319)
Add timeout= keyword to get_client (GH#1290)
Respect timeouts when restarting (GH#1304)
Clean file descriptor and memory leaks in tests (GH#1317)
Deprecate Executor (GH#1302)
Add timeout to ThreadPoolExecutor.shutdown (GH#1330)
Clean up AsyncProcess handling (GH#1324)
Allow unicode keys in Python 2 scheduler (GH#1328)
Avoid leaking stolen data (GH#1326)
Improve error handling on failed nanny starts (GH#1337), (GH#1331)
Make Adaptive more flexible
Support
--contact-address
and--listen-address
in worker (GH#1278)Remove old dworker, dscheduler executables (GH#1355)
Exit workers if nanny process fails (GH#1345)
Auto pep8 and flake (GH#1353)
1.18.0 - 2017-07-08¶
Add get_client, secede functions, refactor worker-client relationship (GH#1201)
Allow logging configuration using logging.dictConfig() (GH#1206) (GH#1211)
Offload serialization and deserialization to separate thread (GH#1218)
Support fire-and-forget tasks (GH#1221)
Support bytestrings as keys (for Julia) (GH#1234)
Resolve testing corner-cases (GH#1236), (GH#1237), (GH#1240), (GH#1241), (GH#1242), (GH#1244)
Automatic use of scatter/gather(direct=True) in more cases (GH#1239)
1.17.1 - 2017-06-14¶
1.17.0 - 2017-06-09¶
Reevaluate worker occupancy periodically during scheduler downtime (GH#1038) (GH#1101)
Add
AioClient
asyncio-compatible client API (GH#1029) (GH#1092) (GH#1099)Update Keras serializer (GH#1067)
Always create new worker directory when passed
--local-directory
(GH#1079)Support pre-scattering data when using joblib frontend (GH#1022)
Make workers more robust to failure of
sizeof
function (GH#1108) and writing to disk (GH#1096)Add
is_empty
andupdate
methods toas_completed
(GH#1113)Remove
_get
coroutine and replace withget(..., sync=False)
(GH#1109)Improve API compatibility with async/await syntax (GH#1115) (GH#1124)
Add distributed Queues (GH#1117) and shared Variables (GH#1128) to enable inter-client coordination
Support direct client-to-worker scattering and gathering (GH#1130) as well as performance enhancements when scattering data
Style improvements for bokeh web dashboards (GH#1126) (GH#1141) as well as a removal of the external bokeh process
HTML reprs for Future and Client objects (GH#1136)
Support nested collections in client.compute (GH#1144)
Use normal client API in asynchronous mode (GH#1152)
Remove old distributed.collections submodule (GH#1153)
1.16.3 - 2017-05-05¶
1.16.2 - 2017-05-03¶
Support
async with Client
syntax (GH#1053)Use internal bokeh server for default diagnostics server (GH#1047)
Improve styling of bokeh plots when empty (GH#1046) (GH#1037)
Support efficient serialization for sparse arrays (GH#1040)
Prioritize newly arrived work in worker (GH#1035)
Prescatter data with joblib backend (GH#1022)
Make client.restart more robust to worker failure (GH#1018)
Support preloading a module or script in dask-worker or dask-scheduler processes (GH#1016)
Specify network interface in command line interface (GH#1007)
Client.scatter supports a single element (GH#1003)
Use blosc compression on all memoryviews passing through comms (GH#998)
Add concurrent.futures-compatible Executor (GH#997)
Add as_completed.batches method and return results (GH#994) (GH#971)
Allow worker_clients to optionally stay within the thread pool (GH#993)
Add bytes-stored and tasks-processing diagnostic histograms (GH#990)
Run supports non-msgpack-serializable results (GH#965)
1.16.1 - 2017-03-22¶
Use inproc transport in LocalCluster (GH#919)
Add structured and queryable cluster event logs (GH#922)
Use connection pool for inter-worker communication (GH#935)
Robustly shut down spawned worker processes at shutdown (GH#928)
Worker death timeout (GH#940)
More visual reporting of exceptions in progressbar (GH#941)
Render disk and serialization events to task stream visual (GH#943)
Support async for / await protocol (GH#952)
Ensure random generators are re-seeded in worker processes (GH#953)
Upload sourcecode as zip module (GH#886)
Replay remote exceptions in local process (GH#894)
1.16.0 - 2017-02-24¶
First come first served priorities on client submissions (GH#840)
Can specify Bokeh internal ports (GH#850)
Allow stolen tasks to return from either worker (GH#853), (GH#875)
Add worker resource constraints during execution (GH#857)
Send small data through Channels (GH#858)
Better estimates for SciPy sparse matrix memory costs (GH#863)
Avoid stealing long running tasks (GH#873)
Maintain fortran ordering of NumPy arrays (GH#876)
Add
--scheduler-file
keyword to dask-scheduler (GH#877)Add serializer for Keras models (GH#878)
Support uploading modules from zip files (GH#886)
Improve titles of Bokeh dashboards (GH#895)
1.15.2 - 2017-01-27¶
Fix a bug where arrays with large dtypes or shapes were being improperly compressed (GH#830 GH#832 GH#833)
Extend
as_completed
to accept new futures during iteration (GH#829)Add
--nohost
keyword todask-ssh
startup utility (GH#827)Support scheduler shutdown of remote workers, useful for adaptive clusters (:pr: 811 GH#816 GH#821)
Add
Client.run_on_scheduler
method for running debug functions on the scheduler (GH#808)
1.15.1 - 2017-01-11¶
Make compatible with Bokeh 0.12.4 (GH#803)
Avoid compressing arrays if not helpful (GH#777)
Add –local-directory keyword to worker (GH#788)
Enable workers to arrive to the cluster with their own data. Useful if a worker leaves and comes back (GH#785)
Resolve thread safety bug when using local_client (GH#802)
Resolve scheduling issues in worker (GH#804)
1.15.0 - 2017-01-02¶
Major Worker refactor (GH#704)
Major Scheduler refactor (GH#717) (GH#722) (GH#724) (GH#742) (GH#743
Add
check
(default isFalse
) option toClient.get_versions
to raise if the versions don’t match on client, scheduler & workers (GH#664)Future.add_done_callback
executes in separate thread (GH#656)Clean up numpy s