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]
