storage-cassandra: two concurrent DeleteTable calls on one table both complete
Los mantenedores suelen responder en 2 días
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Summary
On Cassandra two concurrent DeleteTable calls on one ACTIVE table both run to completion and both answer 200. The service answers one 200 and one ResourceInUseException Attempt to change a resource which is still in use: Table is being deleted: <name> (measured 2026-10-25, five rounds of five). #550 fixes the same pair on SQLite and MongoDB; PostgreSQL already serialized it.
Cause
crates/storage-cassandra/src/delete_table.rs never writes a DELETING status: it reads the row, drops the keyspace tables and deletes the catalog rows inside the request. Nothing fences the second call. The continuous_backups and tags deletes are keyed on the table name and ARN, so a CreateTable of the same name interleaved with the second call's tail can lose the new table's PITR row and tags.
Fix shape
A lightweight-transaction claim to DELETING as the first write (UPDATE ... SET table_status = 'DELETING' IF table_status = 'ACTIVE'); the loser answers TableBeingDeleted (added in #550). Key the continuous_backups and tags deletes on the table id, or run them before the claim is released. A direct test with ten rounds of two concurrent calls asserting one Ok and one TableBeingDeleted, and that a table re-created between the calls keeps its tags and PITR row.
Found while reviewing #505.
- Lenguaje dominante
- Rust
- Estrellas
- 517
- Forks
- 60
- Merge medio
- 2 d 22 h
- PR fusionados (30 d)
- 25
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una 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 ExtendDB/extenddb
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 2 días
-
backend:mongodb bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 2 días
-
backend:cassandra bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 2 días
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 2 días
-
backend:cassandra bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 2 días
Todos los issues de ExtendDB/extenddb
Issues similares
-
area:cli bug dotnet good first issue priority:medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
rtk-ai/rtk#4844 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
delta-io/delta-kernel-rs#3757 ·
Los mantenedores suelen responder en 3 días
-
area: library data-loss type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
alplabai/signex#1740 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
test(fslc): the unreadable mutate catalog test pins the Unix I/O error text and fails on WindowsPosiblemente ocupada @rizumita la tomó hoy. Abierto
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 69/100
Los mantenedores suelen responder en 1 día