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

   ### Search before asking
   
   - [x] I searched in the [issues](https://github.com/apache/paimon/issues) 
and found nothing similar.
   
   
   ### Motivation
   
   Snapshot expiration loads entire index manifests into 
`List<IndexManifestEntry>` before filtering, and deletion tasks retain full 
entries until execution. Processing multiple large manifests concurrently can 
cause excessive heap usage and OOM. Building the set of protected index files 
also loads complete metadata just to extract file names.
   
   <img width="953" height="410" alt="Image" 
src="https://github.com/user-attachments/assets/689c8f9f-a330-42ad-a449-03f4af47f4b9";
 />
   
   ### Solution
   
   - Reuse the existing projected streaming scan: read only file names when 
collecting protected files, and only the fields needed to resolve paths when 
planning deletion.
   - Filter entries as they are read and retain only `Path` objects in deletion 
tasks.
   - Bypass the full manifest cache to avoid loading unnecessary metadata, such 
as deletion vector ranges and global index metadata.
   
   ### Anything else?
   
   Builds on the projected scan API from 
[#9095](https://github.com/apache/paimon/pull/9095). The manifest format and 
file retention semantics remain unchanged.
   
   
   ### 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