CI flake: BReg webhook test fixtures collide on clock-named temporary roots
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
Línea de trabajo
Empieza con DestinationFixture::new en crates/registry-breg/tests/postgres_webhook_delivery.rs, luego la misma función en postgres_webhook_outbox.rs y unique_role en postgres_spatial_storage.rs. Compáralas con postgres_package.rs, que ya añade a sus nombres temporales una secuencia AtomicUsize de ámbito de proceso. Está terminado cuando los tres nombres generados incluyen esa secuencia y los binarios de prueba afectados siguen pasando con products/breg/scripts/test-postgres.sh.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
real_postgres_webhook_delivery_finishes_prior_package_work_after_compatible_upgrade failed once in products/breg/scripts/test-postgres.sh --lane all on macOS:
panicked at crates/registry-breg/tests/postgres_webhook_delivery.rs:2831:39:
package root creates: Os { code: 17, kind: AlreadyExists, message: "File exists" }
It passed on an immediate rerun of the same binary, with no code change.
Cause
DestinationFixture::new in crates/registry-breg/tests/postgres_webhook_delivery.rs names its temporary root breg-webhook-delivery-{nanos}-{pid}. Tests in one binary run in parallel in one process, so the pid is shared. On macOS SystemTime::now() advances in microsteps, so two fixtures created in the same microsecond get the same root. The first create_dir_all succeeds for both, and the second create_dir(package) fails.
The same pattern is in:
crates/registry-breg/tests/postgres_webhook_outbox.rsDestinationFixture::new(clock and pid only;create_dir(&root)fails on a collision);crates/registry-breg/tests/postgres_spatial_storage.rsunique_role(clock only, for a PostgreSQL role name).
postgres_package.rs, postgres_startup.rs, startup_ordering.rs and runtime_config.rs already add a process-wide AtomicUsize sequence to the name. That is the fix for the other three.
Fix
Add the same sequence counter to the two DestinationFixture::new functions and to unique_role.
Seen while gating the product cleanup round for #2040 on 16 October 2026. On Linux CI the nanosecond clock makes a collision unlikely, but not impossible.
- Lenguaje dominante
- Rust
- Estrellas
- 2
- Forks
- 0
- Merge medio
- 10 h 32 min
- PR fusionados (30 d)
- 256
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 registrystack/registry-stack
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
registrystack/registry-stack#2168 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
registrystack/registry-stack#2162 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
registrystack/registry-stack#2161 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
registrystack/registry-stack#2160 ·
Los mantenedores suelen responder en 1 día
-
area:breg bug criticality:p3
Dificultad 2/5 1-3 horas Aptitud para principiantes 92/100
registrystack/registry-stack#2150 ·
Los mantenedores suelen responder en 1 día
Todos los issues de registrystack/registry-stack
Issues similares
-
area:gc-repack-output bug factory:dogfood factory:triaged priority:p3 type:bug type:ux
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
gitbutlerapp/grit#1161 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Optimize the quick add featureAbiertofeature
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
-
priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
storytold/photocraft#7520 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día