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

   ## What
   
   The `InsertHeader` SMT was dropping the fractional part of literal values 
when the parsed schema resolved to an integral type. For example, configuring 
`value.literal: "2.0"` produced a header with value `2` instead of `2.0`. The 
`configure` method now detects this case and rewrites the schema and value to 
`FLOAT32`, `FLOAT64`, or `Decimal` so the original literal is preserved.
   
   The behavior change is localized to 
`connect/transforms/src/main/java/org/apache/kafka/connect/transforms/InsertHeader.java`.
 When `Values.parseString` returns an integral-typed `SchemaAndValue` and the 
raw configured string contains a decimal point, the literal is re-encoded using 
`BigDecimal`, falling back to `Decimal` for values outside the range of 
`float`/`double`. All other inputs keep the previous behavior.
   
   ## Why
   
   ## Testing
   
   Added `InsertHeaderTest.insertionWithFloatHeader`, which configures the SMT 
with the literal `"2.0"` and asserts that the resulting header carries a 
`FLOAT32` value of `2.0f` while preserving any pre-existing headers on the 
record. Existing tests continue to cover the integral and string literal paths, 
so non-numeric and integer literals are unchanged.
   
   ---
   
   Delete this text and replace it with a detailed description of your change. 
The
   PR title and body will become the squashed commit message.
   
   If you would like to tag individuals, add some commentary, upload images, or
   include other supplemental information that should not be part of the 
eventual
   commit message, please use a separate comment.
   
   If applicable, please include a summary of the testing strategy (including
   rationale) for the proposed change. Unit and/or integration tests are 
expected
   for any behavior change and system tests should be considered for larger
   changes.
   
   JIRA: https://issues.apache.org/jira/browse/KAFKA-19717


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