Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Cassandra: data-plane requests during a DeleteTable answer 500 once the base data table is dropped

オープン
#600 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
cassandra, rust
領域
backend, databases

調査の方向性

Read crates/engine/src/delete_table.rs to trace when the key-info cache is invalidated relative to delete_table returning. Compare the Cassandra behavior with the PostgreSQL handling from #550 and the backend question in #505. Done means data-plane requests during the DELETING window no longer return 500; the issue leaves open whether to return 404 or 200.

索引モデルが issue の本文から書いたものです。

説明

backend:cassandra bug

Summary

On Cassandra, DeleteTable drops the data tables inside the request. With the server's key-info cache warm, GetItem, PutItem, Query and Scan on the table answer 500 InternalServerError from the moment the base data table is dropped until the catalog row is removed and the cache entry is invalidated. Amazon DynamoDB answers 200 for the whole of its DELETING window.

Measured (Cassandra 4.1, 2026-10-26)

A four-GSI table, GetItem every 20 ms through a live DeleteTable: 200 until the base drop, then 500 for 3.7 to 4.6 s (the index drops), then 404 once the row is gone. Three runs, the same on main and on #598. With a cold cache the whole window answers 404 (the key-info read maps DELETING to not found on this backend, the #505 settlement).

Notes

The engine invalidates the key-info entry only after delete_table returns (crates/engine/src/delete_table.rs). Invalidating it at the claim, or mapping the dropped-table CQL error to ResourceNotFoundException as PostgreSQL does since #550, would turn the 500 into the 404 the cold path already gives. Serving 200 as the service does is the #505 question for this backend.

主要言語
Rust
スター
517
フォーク
60
平均マージ
2日 23時間
マージ済み PR(30日)
25

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ExtendDB/extenddb のほかの issue

ExtendDB/extenddb の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。