hutiefang76 opened a new issue, #12657:
URL: https://github.com/apache/seatunnel/issues/12657
### Search before asking
- [x] Searched current issues and pull requests; related prior work is
identified below.
### What happened
Protobuf read/write field lookup uses different case transformations.
Writing an exactly named mixed-case proto field can fail after lowercasing,
reading a case-variant schema field can return null, and a MAP inside a ROW is
resolved against the root descriptor rather than its owning message.
### SeaTunnel Version
dev at 11e4f5554973a66ba2d63d4df18ee22f10be121f. No claim about untested
releases.
### SeaTunnel Config
Minimal proto:
```proto
syntax = "proto3";
message Root {
message Address { map<string, float> attributes = 1; }
Address address = 1;
string C_STRING = 2;
}
```
Use matching SeaTunnel ROW/MAP fields for address.attributes and an exact
`C_STRING` schema field. Also test a scalar proto `c_string` with schema
`C_String`. No broker is needed for a converter-level reproduction.
### Running Command
Construct the descriptor, serialize a SeaTunnelRow through
RowToProtobufConverter, parse the bytes with DynamicMessage and read through
ProtobufToRowConverter. Assert the original scalar/map values round-trip.
### Error Exception
On the baseline, exact mixed-case writes can fail in descriptor lookup,
case-variant reads can yield null and nested MAP writes use a field descriptor
belonging to the wrong message.
### Zeta or Flink or Spark Version
Not required for the isolated utility/format reproduction.
### Java or Scala Version
JDK 17.0.18; regression cases also passed on JDK 1.8.0_492 in the original
local repair batch.
### Anything else
Closed PR #10194 was not merged. Its review explicitly identified the
remaining nested MAP descriptor problem. This report/patch continues that work
with owning-message lookup and regression coverage, while retaining the
case-insensitive fallback needed by existing schemas. No active equivalent PR
was found.
### Are you willing to submit PR?
- [x] Yes I am willing to submit a PR.
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct.
AI assistance: DeepSeek and Codex assisted reproduction, 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]