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]

Reply via email to