`RuntimeError: Not enough arguments provided: missing keys` in `dask.persist` with mix of `Future` and `Delayed`
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- distributed-systems
Línea de trabajo
Ejecuta el ejemplo mínimo con el cambio de versión reportado y compara el caso mixto Future/Delayed con los dos casos que funcionan. Sigue dask.persist a través de dask/base.py, dask/core.py y dask/_task_spec.py, especialmente la ruta de repack y missing-key reportada. Se considera terminado cuando las entradas mixtas ya no provoquen el RuntimeError, mientras que los casos existentes de solo Future y solo Delayed sigan funcionando.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the issue:
I get a RuntimeError with some dask-ml code that worked with dask / distributed 2024.10.0 and earlier. With 2024.11.0 and newer, it fails:
Minimal Complete Verifiable Example:
import dask
import dask.distributed
@dask.delayed
def f(x):
return x
def main():
with dask.distributed.Client() as client:
print(dask.persist(client.submit(lambda x: x, 1), f(0)))
if __name__ == "__main__":
main()
On the older versions of dask, that prints out
(<Future: pending, key: lambda-80efb60e0b886931a35d757d5c4b3ac2>, Delayed('f-8a35b8af-26b5-427e-86c8-98b6d8b3f49f'))
Newer versions fail with
Traceback (most recent call last):
File "/Users/tom/gh/dask/dask-ml/bug.py", line 15, in <module>
main()
File "/Users/tom/gh/dask/dask-ml/bug.py", line 12, in main
print(dask.persist(client.submit(lambda x: x, 1), f(0)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/tom/gh/dask/dask-ml/.direnv/python-3.11/lib/python3.11/site-packages/dask/base.py", line 988, in persist
return repack(results)
^^^^^^^^^^^^^^^
File "/Users/tom/gh/dask/dask-ml/.direnv/python-3.11/lib/python3.11/site-packages/dask/base.py", line 535, in repack
return simple_get(dsk, out)
^^^^^^^^^^^^^^^^^^^^
File "/Users/tom/gh/dask/dask-ml/.direnv/python-3.11/lib/python3.11/site-packages/dask/core.py", line 102, in get
result = execute_graph(dsk2, cache, keys=set(flatten([out])))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/tom/gh/dask/dask-ml/.direnv/python-3.11/lib/python3.11/site-packages/dask/_task_spec.py", line 786, in execute_graph
cache[key] = node(cache)
^^^^^^^^^^^
File "/Users/tom/gh/dask/dask-ml/.direnv/python-3.11/lib/python3.11/site-packages/dask/_task_spec.py", line 670, in __call__
self._verify_values(values)
File "/Users/tom/gh/dask/dask-ml/.direnv/python-3.11/lib/python3.11/site-packages/dask/_task_spec.py", line 428, in _verify_values
raise RuntimeError(f"Not enough arguments provided: missing keys {missing}")
RuntimeError: Not enough arguments provided: missing keys {'lambda-80efb60e0b886931a35d757d5c4b3ac2'}
Anything else we need to know?:
It seems to be the combination of Futures and Delayed objects that causes issues. Both of these seem to work fine.
print(dask.persist(client.submit(lambda x: x, 1), client.submit(lambda x: x, 2)) # OK
print(dask.persist(f(0), f(1))) # OK
I'll look for fixes / workarounds once I get up to speed on what's going on.
Environment:
- Dask version:
- Python version:
- Operating System:
- Install method (conda, pip, source):
- Lenguaje dominante
- Python
- Estrellas
- 1.7k
- Forks
- 778
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de dask/distributed
-
needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
dask/distributed#9366 ·
-
needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
dask/distributed#9353 ·
-
documentation
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
dask/distributed#8304 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
dask/distributed#4816 · 2 comentarios ·
-
documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
dask/distributed#2378 · 2 comentarios ·
Todos los issues de dask/distributed
Issues similares
-
ACK_WAITING HELP_WANTED UPDATE_CS
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
OWASP/CheatSheetSeries#2458 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
BasedHardware/omi#19711 ·
Los mantenedores suelen responder en 1 día
-
Qwen3_5MoeModel no longer returns router_logits, breaking aux loss with output_router_logits=TrueAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
huggingface/transformers#49172 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
vllm-project/vllm-metal#885 ·
Los mantenedores suelen responder en 1 día