kecookier opened a new pull request, #12983: URL: https://github.com/apache/gluten/pull/12983
## What changes are proposed in this pull request? ### Backgroud The two bugs probed by these tests were discovered in our internal production environment: shuffle read tasks hit an infinite loop or deserialization failures with Celeborn (rss_sort + hash partitioning). This PR runs these tests against the latest upstream gluten to check whether the issues still reproduce; if they do, I'll port the fix in a follow-up. ### What Adds VeloxShuffleReaderTest (velox_shuffle_reader_test): regression tests for the rss_sort shuffle reader, driven through the public VeloxRssSortShuffleReaderDeserializer API via fake arrow::io::InputStreams. Covers graceful EOS on empty streams, uncompressed Presto pages spanning multiple read windows (nested struct pre-scan, header crossing a refill boundary, checksummed pages), the single-window zero-copy fast path, and GlutenByteInputStream::nextView contract. ### Note Two probe cases are expected to fail on current main, exposing real bugs that will be fixed in a follow-up PR: - EosMidPageTerminates: a truncated compressed page hits EOS mid-page inside readBytes's for(;;) loop; VeloxInputStream::next() ignores throwIfPastEnd and silently returns on EOS, so the loop never exits (FakeInputStream cuts it short after 100 consecutive EOS reads and surfaces "possible infinite loop" instead of hanging). - NegativeReadThrows: next() stores the Read() result into an unsigned offset_ with no signed-result guard. -- 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]
