hutiefang76 opened a new pull request, #12660: URL: https://github.com/apache/seatunnel/pull/12660
### Purpose of this pull request Fixes #12657. Continue the unmerged work in closed PR #10194, including the nested MAP problem identified in its review. Resolve exact field names first and use a locale-independent case-insensitive fallback consistently on both read and write paths. Nested ROW/MAP fields use their owning field/message descriptor rather than the root descriptor or a guessed message name. ### Does this PR introduce _any_ user-facing change? Existing case-insensitive schema/proto matches are retained; exact mixed-case names and nested/sibling message types now round-trip. A non-null write to an absent proto field fails with `PROTOBUF-03`; an absent field on read remains null. EN/ZH format documentation describes these rules. ### How was this patch tested? JDK 17: all 10 portable `ProtobufConverterTest` regression methods passed; the same methods passed on JDK 8 in the original batch. They cover exact/fallback matching, Turkish locale, nested ROW/MAP, sibling message types, null nested rows and absent fields. Descriptors are constructed with DescriptorProtos, without native protoc. The legacy `testConverter` method was not executed: its bundled protoc 3.11.4 lacks native macOS ARM64 support. The Kafka protobuf IT/configurations were updated and compiled by root verify, but container E2E jobs were not executed. `./mvnw spotless:apply` and root `./mvnw -q -DskipTests verify` passed on the independent branch. Root verify skips test execution; it is not a full engine E2E run. ### Check list * [ ] New JAR license/notice changes (not applicable; no new dependencies) * [x] User documentation updated in EN/ZH * [ ] Incompatible-change documentation (not applicable) * [ ] Connector registration/distribution/config changes (not applicable; existing modules) AI assistance: DeepSeek and Codex assisted implementation, tests and this description. -- 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]
