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

   ### Problem
   
   On an initialized stripe, `seekToRow()` can receive the stripe-end sentinel 
when SARG rejects the target and every remaining row group. Treating the 
sentinel as a row-group index accesses past `RowIndex` entries for an exact 
index boundary. A partial final group can also cause a premature EOF before 
later matching stripes. Doris condition-cache granule seeks can trigger this 
boundary.
   
   ### Change
   
   Initialize the next selected stripe before positioning its column readers, 
respecting the configured stripe range and EOF. This follows the same 
initialization path as a fresh seek.
   
   ### Tests
   
   - Add 32 cases covering exact/partial row groups, fresh/initialized stripes, 
lazy/non-lazy reads, skipped middle stripes, restricted ranges, EOF and 
backward seeks.
   - All 16 initialized-stripe cases fail with the original reader; all 32 new 
cases pass with the fix.
   - 56 focused ORC reader and predicate-pushdown tests pass under 
AddressSanitizer.
   - clang-format 16 checks pass.
   


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