backup restore into a new Store: sandbox create fails with no complete project manifest
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
Start with write_projects in control/crates/layerfs-store/src/backup/restore.rs, then trace how installed() in control/crates/layerfs-sandbox/src/lifecycle.rs reads the project record through project() in project/discovery.rs. Compare the restore and project init records, and check the backup restore and sandbox creation tests. Done means restoring into a fresh Store leaves a project record that lets sandbox create succeed; the issue leaves open whether restore should write the missing fields or sandbox creation should rebuild them.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
On an M3 Max, macOS 26.6.2, I backed up a Store to a local S3 (rclone serve s3) and restored it into a fresh home. branch fork, file write and file read work on the restored Store, but a Sandbox doesn't start:
$ layerfs backup restore vps lab vps
{"store":"vps","bucket":"lab","file":"vps","bytes":217088,...,"projects":["vps"]}
$ layerfs sandbox create vps/vps sr native
{"code":"NoSuchProject","message":"no complete project manifest","detail":null}
Same on layerfs_v2_0_0 (be317c045) and on #663 (2647fc84e), which I was retesting, and the same when restoring under a new Store name in the same home. Restoring over an existing Store works, because the old project record stays
I think the cause is write_projects in control/crates/layerfs-store/src/backup/restore.rs. For a project with no record it writes ProjectRecord::found, which has only name and stack. sandbox create reads the record through installed() in control/crates/layerfs-sandbox/src/lifecycle.rs, which calls project() in project/discovery.rs. project() needs manifest, and installed() then needs installed. project init writes them (discovery::save_project from project/add.rs), restore doesn't. The keys of the two records:
made by project init: created, installed, manifest, v
made by backup restore: name, stack, v
This code is the same on the current layerfs_v2_0_0 (03e4c541). I only ran it on macOS native. Should restore write manifest and installed, or should the Sandbox path rebuild them when they're missing?
- Lenguaje dominante
- Rust
- Estrellas
- 2.1k
- Forks
- 110
- Merge medio
- 23 h 52 min
- PR fusionados (30 d)
- 138
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 Ephemeral-AI-Lab/layerfs
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Ephemeral-AI-Lab/layerfs#689 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Ephemeral-AI-Lab/layerfs#643 ·
Los mantenedores suelen responder en 1 día
-
`branch.publish` accepts a stale base and overwrites `main` (lost update)Posiblemente ocupada @mengmengmengqiang la tomó hoy. Abiertoapi/calls bug core/history
Ephemeral-AI-Lab/layerfs#691 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 8/100
Ephemeral-AI-Lab/layerfs#684 · 10 comentarios ·
Los mantenedores suelen responder en 1 día
-
LayerFS Paper Write in PublicAbiertodocs
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
Ephemeral-AI-Lab/layerfs#683 ·
Los mantenedores suelen responder en 1 día
Todos los issues de Ephemeral-AI-Lab/layerfs
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
pop-os/cosmic-settings#2296 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
jonathanong/no-mistakes#3431 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Eyevinn/open-live-ingest#36 · 1 comentario ·
Los mantenedores suelen responder en 1 día