Skip to content

MongoDB: ListTagsOfResource during a table's DELETING window returns no tags once the delete call has removed them #604

Open

Description

@LeeroyHannigan

Summary

On MongoDB, DeleteTable marks the catalog document DELETING, drops the collections, removes the tag documents, and then deletes the catalog document. ListTagsOfResource sent after the tag removal and before the catalog delete answers 200 with Tags: []. Amazon DynamoDB returns the tags for the whole of its DELETING window (3 of 3, 2026-10-26, on the table ARN).

ExtendDB

PostgreSQL and SQLite delete the tag rows and the catalog row in one transaction, so the read returns the tags for the whole window. Cassandra with #598 removes the tags in the last statements of the delete, after the drops. MongoDB removes them after the collection drops and before the catalog delete (crates/storage-mongodb/src/table_engine.rs), so the read is empty for that stretch of the call. Measured by the #599 parity run with the document hand-set and by reading the delete's statement order.

Notes

Moving the tag delete_many to run with the catalog delete_one, or after it, closes the gap; the collection drops do not depend on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backend:mongodbRelated to the MongoDB backend specifically.bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions