Output copies, model validators, and failed pushes on current main
Los mantenedores suelen responder en 1 día
@SimonHeybrock ya está trabajando en esto.
Desde el 28/10/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Three problems that PRs #76, #77, and #79 fixed are still on main. Those PRs branched before the params rework (#109, #117) and the file rename (#119), and now conflict in 5 to 27 files, so each fix is to be made again on the current code. Their descriptions hold the designs that were reviewed.
client.output returns the object the backend holds (#76)
For a record the client keeps, Backend.outputs returns the value from memory without a copy. An accumulator's outputs are deep-copied, and a persisted record's are read from the store. So in a notebook
iofq = client.output(record, 'iofq')
iofq *= scale # changes what pending requests read and what persist writes
changes the record's outputs, but only in-process. That breaks the promise that where a request runs changes neither its record nor its outputs. #76 made every read return a value the caller owns, copying only where the source does not already give a fresh object.
Model validators of the params model never run in the backend (#77)
WorkflowSpec allows model validators on the params model, and refuses every other decorator there. The backend builds the params with model_construct, so a plain request never runs them. The author's tests construct the model normally and do run them, which gives false confidence. #77 ran them wherever every value they read is known: on the whole params of a plain request, at each call through a stage, and when an accumulator opens. Its rows for groups given field by field no longer apply, since only the first level is interpreted (#109).
One failed push ends an accumulator for good (#79)
Any failure of a push stops the accumulator (Backend._stop): one unreadable run file ends a sum that has grown all beamtime. No call says whether an accumulator is healthy, and the rows pushed so far cannot be read back. #79 made a push fatal only if the driver may be corrupted: a push that fails in the backend, or in driver.push with ess.spec.PushRefused, leaves the accumulator taking pushes. A failed push keeps its number, and state k equals state k-1. Driver.push takes all tables of a push in one call.
- Lenguaje dominante
- Python
- Estrellas
- 0
- Forks
- 1
- Merge medio
- 9 h 40 min
- PR fusionados (30 d)
- 60
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 scipp/essapps
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
A number that is not finite is stored as None at a field that accepts NonePosiblemente ocupada @jeevanabhi-r la tomó hace 3 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
scipp/essapps#140 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
scipp/essapps#152 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
Todos los issues de scipp/essapps
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
NVIDIA/auto-ontology#463 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
NousResearch/hermes-agent#151165 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
code-health
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
tinaudio/synth-setter#3750 ·
Los mantenedores suelen responder en 1 día
-
[Bug] vllm-sr config migrate drops providers.models[].deploymentPosiblemente ocupada @Bevisy la tomó hoy. Abiertoneeds-acceptance wg/developer-experience-ecosystem
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
vllm-project/semantic-router#5996 ·
Los mantenedores suelen responder en 2 días