leaves12138 opened a new pull request, #9842:
URL: https://github.com/apache/paimon/pull/9842

   ### Purpose
   
   Allow `ManifestAvroReader`, `AvroBlockReader`, and `RawBlockReader` to 
accept ordinary `InputStream` instances. This lets streams assembled from an 
Avro header and selected blocks be read without implementing virtual seek 
support.
   
   Use a private `CountingInput` to capture the header during the initial read 
and track consumed bytes after accounting for Avro read-ahead. Header capture 
remains eager and stops after construction; block offsets are relative to the 
initial input position. The existing block look-ahead handling and stream 
ownership are preserved.
   
   ### Tests
   
   Updated Avro block tests to use ordinary input streams, covering four 
codecs, short reads, large headers, buffered block data, nonzero initial 
positions, repeated look-ahead, and constructor failures. Updated the manifest 
multi-block test to read a `SequenceInputStream`.
   
   Local Java 8 validation: 112 tests passed (8 Avro block reader, 14 Avro 
format, and 90 manifest tests). Checkstyle and Spotless checks passed. The 
changed modules were cleaned before the test run to recompile callers of the 
updated constructors.
   
   ```text
   mvn -B -ntp -nsu -pl paimon-core -am -DwildcardSuites=none 
-DfailIfNoTests=false -Dflink.forkCount=2 
-Dtest=AvroBlockReaderTest,AvroFileFormatTest,ManifestFileTest test
   ```
   


-- 
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]

Reply via email to