XiaoHongbo-Hope opened a new pull request, #10425: URL: https://github.com/apache/paimon/pull/10425
### Purpose `FileSystemCatalog.drop_database(cascade=True)` rechecks the table list after deleting the initially listed tables, but ignores newly discovered tables and recursively deletes the database directory. A table created during the drop can therefore be deleted unintentionally. Recursive cleanup also removes files not recognized by `list_tables`, even without cascade. Reject a cascade drop when the second listing finds remaining tables, and request non-recursive deletion for the final database directory cleanup. Existing tables are still removed by cascade; empty databases still drop normally. This is a pre-existing Catalog issue, identified while reviewing #9821, and is independent of the PyArrow upgrade. This PR extracts that fix onto master. It does not make concurrent database drops atomic; final race handling still depends on FileIO semantics. ### Validation - Real local Catalog regressions cover a table created during cascade deletion, preservation and retry, unlisted files, and empty databases. - Both preservation tests fail on unmodified master. - Catalog and FileIO tests: **51 passed** (PyArrow 19.0.1). - Flake8 and `git diff --check` pass. Remote object stores were not retested for this isolated change. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
