LuciferYang opened a new issue, #10237:
URL: https://github.com/apache/paimon/issues/10237

   ### Search before asking
   
   - [X] I searched in the [issues](https://github.com/apache/paimon/issues) 
and found nothing similar.
   
   ### Paimon version
   
   master
   
   ### Compute Engine
   
   JavaAPI / Flink / Spark (DDL)
   
   ### Minimal reproduce step
   
   `FileSystemBranchManager.dropBranch` catches the `IOException` thrown by 
`fileIO.delete(branchPath, true)`, logs it at INFO level, and returns normally. 
Because the method returns void and throws nothing, the drop-branch DDL reports 
success even though the branch directory and all of its data are still on the 
filesystem.
   
   Run `ALTER TABLE t DROP BRANCH b` (filesystem catalog) where the branch 
directory delete fails, for example due to a permission or filesystem error.
   
   ### What doesn't meet your expectations?
   
   The DDL succeeds, so the user believes the branch is gone, but its directory 
and data remain and storage is not reclaimed. A later `CREATE BRANCH b` with 
the same name then fails with "Branch name 'b' already exists", which is hard 
to explain to someone who was told the drop succeeded. The INFO message even 
says "Please try again", yet no error reaches the caller to prompt a retry.
   
   When the branch directory cannot be deleted, the DDL should fail so the 
caller knows the branch was not dropped. This also matches `createBranch`, 
`renameBranch`, and `fastForward` in the same class, and the catalog-backed 
`CatalogBranchManager.dropBranch`, which all propagate the failure.
   
   ### Anything else?
   
   _No response_
   
   ### Are you willing to submit a PR?
   
   - [X] I'm willing to submit a PR!
   


-- 
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