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]
