echonesis opened a new pull request, #11921: URL: https://github.com/apache/ozone/pull/11921
## What changes were proposed in this pull request? EC reconstruction reads can return data from the wrong stripe after switching an index to a spare replica. The newly opened stream starts at offset zero, but closing the failed stream does not mark it as requiring a seek. Subsequent reads can therefore use data from an earlier stripe without reporting an error. This pull request: - Marks closed streams as requiring a seek, so a spare replica is positioned at the current stripe before reading. - Adds regression tests for reconstruction and proxy reads, covering missing locations, failover at position zero, and an explicit seek before reading. - Verifies that reads remain correct across subsequent stripes and reach the expected end of the block. ## What is the link to the Apache JIRA https://issues.apache.org/jira/browse/HDDS-16999 ## How was this patch tested? ### Local Tests ```bash # HDDS client unit tests mvn -pl :hdds-client test \ -Dtest=TestECBlockInputStream,TestECBlockInputStreamProxy,TestECBlockReconstructedInputStream,TestECBlockReconstructedStripeInputStream \ -DskipShade -DskipRecon ``` GitHub Actions CI: https://github.com/echonesis/ozone/actions/runs/41575296866 Generated-by: Codex (GPT-6) -- 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]
