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

   ### Search before asking
   
   - [x] I searched in the [issues](https://github.com/apache/paimon/issues) 
and found nothing similar.
   
   ### Paimon version
   
   master
   
   ### Compute Engine
   
   Any (data-evolution table read)
   
   ### Minimal reproduce step
   
   On a data-evolution table with deletion vectors disabled, read a 
row-id-range group where a blob or vector-store file is ordered first in the 
group, and the query projects a column that no file in the group wrote (for 
example a freshly added column over a pre-`ALTER` group). This drives 
`DataEvolutionFileStoreScan` read-type pruning down its empty-`kept` fallback.
   
   ### What doesn't meet your expectations?
   
   The split reports fewer rows than the group actually contains, so rows are 
silently dropped from the result.
   
   Root cause: when every file in the group lacks the projected columns, 
pruning keeps one file as a row-count representative so the reader can emit the 
right number of NULL-filled rows. The representative was `group.get(0)`, which 
can be a blob or vector-store file. Those files cover only a sub-range of the 
group's row ids, so the split's row count collapses to that sub-range and the 
rest of the group's rows disappear.
   
   ### Anything else?
   
   The fix is to pick the row-count representative with `retrieveAnchorFile`, 
which returns a full-range normal data file and never a blob or vector-store 
file.
   
   ### 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