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]
