Gabriel39 opened a new pull request, #65496:
URL: https://github.com/apache/doris/pull/65496

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: None
   
   Problem Summary: External file condition-cache entries stored only their 
survivor bitmap. On a
   later cache hit, the physical reader recomputed the bitmap base from the 
current metadata-pruned
   scan plan. If pruning selected a different first row group, bitmap indexes 
shifted and valid rows
   could be silently skipped.
   
   This change stores the bitmap's base granule with the cache value. The V2 
table reader restores the
   stored base on cache hits, while V2 Parquet and ORC readers derive a base 
from their current plan
   only when producing a new cache entry. V1 reader behavior is unchanged.
   
   ### Release note
   
   Fix incorrect row filtering when a V2 external file condition-cache hit uses 
a different pruned
   scan plan from the cache-producing scan.
   
   ### Check List (For Author)
   
   - Test: Unit Test
       - 
`ParquetScanConditionCacheTest.HitKeepsCachedBaseWhenCurrentPlanStartsLater`
       - `TableReaderTest.ConditionCacheMissPublishesBitmapAfterReaderEof`
       - `NewOrcReaderTest.ConditionCacheHitUsesSplitBaseGranule`
   - Behavior changed: Yes. V2 condition-cache hits use the bitmap coordinate 
base stored with the
     cache entry instead of recomputing it from the current scan plan.
   - Does this need documentation: No
   


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to