JingsongLi opened a new pull request, #9683:
URL: https://github.com/apache/paimon/pull/9683
### Purpose
`ManifestAvroReader` rejects manifests whose top-level Avro fields appear in
a different order, even when their names and types match. Resolve fields by
name and decode reordered records in writer order, including nested metadata
projections.
Canonical layouts retain the existing sequential decoding and early
filtering path, with one additional layout check per record. Reordered layouts
apply filters after consuming the record. Raw block copying still requires an
identical binary layout. Field names, types, and the format identifier remain
validated.
### Tests
Added coverage for canonical and reordered top-level layouts, nested field
reordering, projected reads, partition and bucket filters, retained and reused
rows, raw block copy eligibility, and unsupported format identifiers even when
all rows are filtered out.
Passed 69 tests across `ManifestFileTest`, `ManifestFileMergerTest`, and
`ManifestEntryRunMergeTest`, with the regular build checks enabled:
```shell
mvn -o -pl paimon-core -am -DfailIfNoTests=false -DwildcardSuites=none \
-Dtest=ManifestFileTest,ManifestFileMergerTest,ManifestEntryRunMergeTest
test
```
No performance benchmark was run.
--
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]