cshuo opened a new issue, #20501: URL: https://github.com/apache/hudi/issues/20501
### Bug Description **What happened:** Flink snapshot reads can still prune file slices using the record-level index (RLI) when `read.data.skipping.enabled=false`. `FileIndex` gates its column statistics probe on the data skipping and metadata settings, but creates the RLI using evaluators from the original, ungated probe. `HoodieTableSource.applyFilters` constructs that probe regardless of the data skipping setting. The same RLI creation path is attempted when metadata reads are disabled; whether it can actually read the metadata table in that case depends on the metadata factory. **What you expected:** When data skipping or metadata reads are disabled, neither record-level index nor column statistics should be used to skip file slices. Independent partition and bucket pruning should remain available. **Steps to reproduce:** 1. Write a COW table with metadata and a global record-level index enabled, using a record key that places three records in three partitions. 2. Run a snapshot read with a complete record-key equality predicate that matches one record, and set `read.data.skipping.enabled=false`. 3. Inspect the candidate file slices selected by `FileIndex`. Expected: all three file slices remain candidates. Actual: RLI pruning can reduce the candidates to one file slice. With data skipping enabled, the same predicate correctly selects one slice. **Environment:** Hudi 1.3.0-SNAPSHOT, Flink 1.20.1. Part of #20500. -- 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]
