Stephen0421 opened a new pull request, #9812:
URL: https://github.com/apache/paimon/pull/9812

   ### Purpose
   
   Stacked on #9609. Adds Spark `CALL sys.remove_orphan_blobs` for unreferenced 
primary-key `.managed.blob` packs.
   
   - `local` reuses `LocalManagedBlobOrphanFilesClean.executeDatabase`
   - `distributed` runs a Spark DAG on the same used-pack / sidecar scan as 
Core (`emitUsedPacks`, pack identity, `SKIP_MANAGED_BLOB_GC`)
   - Abort if topology or the used-pack set changes; persist mark caches and 
keep abort keys in the deletion DAG so Spark cache recomputation cannot drop a 
live pack
   - `database.*` is one Spark job per table (serial + unpersist), not a union 
of every table, so abort gates stay per-table
   - `parallelism` is validated before mode dispatch; docs describe per-mode 
concurrency (`distributed` stays within the per-table value, `local` may exceed 
it when several tables run at once)
   
   ### Tests
   
   - local / distributed: delete unreferenced packs, dry-run, skip GC when 
sidecar is missing
   - `database.*` for both modes
   - reject non-positive parallelism
   - distributed abort / cache-recompute / used-set freeze / sidecar identity


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