Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

storage-cassandra: two concurrent DeleteTable calls on one table both complete

Đang mở
#553 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 2 ngày

@LeeroyHannigan đang làm issue này rồi.

Từ ngày 25/10/2026.

  • #598 của @LeeroyHannigan — đang mở

Đánh giá

Issue này chưa được đánh giá.

Mô tả

backend:cassandra

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.

Ngôn ngữ chính
Rust
Star
517
Fork
60
Merge trung bình
2 ngày 23 giờ
Pull request đã merge (30 ngày)
25

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ExtendDB/extenddb

Tất cả issue của ExtendDB/extenddb

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.