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]

Reply via email to