DanielLeens commented on PR #12009:
URL: https://github.com/apache/seatunnel/pull/12009#issuecomment-5476926514

   Thanks for the very thorough parallel review, @SEZ9 — this is a great 
complement to mine.
   
   I went back and directly verified the one open factual question your review 
raises (Issues 2 and 5): whether `AvroToRowConverter` (the read path) still has 
any `toLowerCase()` on field names that could make the write-side fix 
asymmetric. I pulled `AvroToRowConverter.java` at the PR head (`72d861a7`) and 
there is no `toLowerCase()` anywhere in that file — every lookup is already 
exact-case:
   
   ```java
   if (record.getSchema().getField(fieldNames[i]) == null) { ... }   // 
AvroToRowConverter.java:83
   values[i] = convertField(rowType.getFieldType(i), 
record.get(fieldNames[i]));  // AvroToRowConverter.java:87
   ```
   
   So the read path was never part of the bug and is untouched by this PR, 
which confirms your own read of the current code ("the fix is correct... as 
written today") — I just wanted to close the loop on that specific factual 
check rather than leave it as an open question.
   
   On the rest of your findings: I agree Issues 1 and 3 (bind by `Schema.Field` 
position instead of by name, so the write side and the generated schema can't 
structurally drift) are good hardening for the future — today there's no bug 
there since `recordSchema`/`schema` and the row type are built from the same 
source in the same method call, but making that invariant structural rather 
than implicit is a legitimate defensive improvement. Issues 4, 6, 7 and 8 
(changelog note, null/nullable-union coverage, and `ARRAY<ROW>`/`MAP<_, ROW>` 
nested-collection coverage) are all sensible, non-blocking test/doc 
improvements that would strengthen this further.
   
   None of these are correctness blockers for the fix itself — they're all 
Medium/Low hardening and coverage suggestions on code paths that are provably 
correct as written today, which matches your own severity ratings. My merge 
recommendation from my earlier review stands: **Ready to merge after fixes**, 
and the only actual blocker is still the pre-existing CI flakes unrelated to 
this diff (`CoordinatorServiceTest` timeout in `seatunnel-engine-server`, 
`CouchbaseIT` container-startup flake) — not any code issue. Happy to see the 
position-binding and extra test-coverage suggestions land either in this PR or 
as fast, low-risk follow-ups.


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