Aberkingaliev opened a new pull request, #23695:
URL: https://github.com/apache/kafka/pull/23695

   JIRA: https://issues.apache.org/jira/browse/KAFKA-21207
   ReplaceField builds the output schema from retained input fields, but copies 
values using a global inverse rename map. For schemaful input {a=1, b=2}, 
exclude=a and renames=a:b incorrectly produce {b=1} instead of {b=2}. A rename 
source missing from the input schema can also cause a DataException.
   This change copies retained input fields directly to their renamed targets 
and removes the unused inverse mapping. It preserves null/default handling, 
chained and swapped renames, and duplicate output-field rejection.
   Regression tests cover excluded and missing rename sources, include 
filtering, inactive mappings sharing a target, key/value transforms, 
schema-cache reuse and schemaless parity.
   Validation on JDK 17:
   - All 301 Connect transforms tests pass, including 19 ReplaceField tests
   - Checkstyle, Spotless and SpotBugs pass
   - Six regression cases failed before the fix in the focused reproduction run
   - The full Kafka test suite was not run
   Related: #9493 used source-field iteration within broader 
recursive-transform support and was closed without merging. This PR is limited 
to the existing field-mapping bug.


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