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

   ### Search before asking
   
   - [X] I searched in the [issues](https://github.com/apache/paimon/issues) 
and found nothing similar.
   
   ### Paimon version
   
   master
   
   ### Compute Engine
   
   Flink (batch write)
   
   ### Minimal reproduce step
   
   `TagManager.deleteAllTagsOfOneSnapshot` deletes the tag files directly and 
never calls `TagCallback.notifyDeletion`. The sibling `deleteTag` used by the 
same expiry loop in `TagBatchCreation.expireTag` does notify callbacks. The 
loop routes every over-budget snapshot through `deleteAllTagsOfOneSnapshot` and 
only the boundary snapshot through `deleteTag`, so most tags expired by batch 
writes never reach the callbacks.
   
   Reproduce: a table with `tag.num-retained-max` set and one of the tag 
callbacks configured (`metadata.iceberg.storage`, `tag.create-success-file`, or 
`metastore.tag-to-partition`), written in Flink batch mode so 
`BatchWriteGeneratorTagOperator` drives `TagBatchCreation`. As tags accumulate 
past the retained max, the callback side effects for bulk-expired tags are 
never applied.
   
   ### What doesn't meet your expectations?
   
   Callbacks should fire for every deleted tag. With `metadata.iceberg.storage` 
enabled, `IcebergCommitCallback.notifyDeletion` removes the tag from the 
Iceberg metadata `refs`; skipping it leaves stale refs for tags that no longer 
exist in Paimon. The same skip orphans `{tagName}_SUCCESS` files and leaves 
stale metastore partitions when those features are on.
   
   ### Anything else?
   
   The batch-expiry path (`deleteAllTagsOfOneSnapshot`) is the common one, not 
a rare corner. Fix routes it through the same delete-and-notify helper the 
single-tag path uses.
   
   ### 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