You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "bruce szalwinski (JIRA)" <ji...@apache.org> on 2017/03/21 22:46:41 UTC

[jira] [Updated] (KAFKA-4929) Transformation Key/Value type references should be to class name(), not canonicalName()

     [ https://issues.apache.org/jira/browse/KAFKA-4929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

bruce szalwinski updated KAFKA-4929:
------------------------------------
    Status: Patch Available  (was: Open)

> Transformation Key/Value type references should be to class name(), not canonicalName()
> ---------------------------------------------------------------------------------------
>
>                 Key: KAFKA-4929
>                 URL: https://issues.apache.org/jira/browse/KAFKA-4929
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 0.10.2.0
>            Reporter: bruce szalwinski
>            Priority: Minor
>
> The docs suggest that referencing the Key/Value transformations is done as follows:
> {code}
>     "transforms": "replaceFieldValue",
>     "transforms.replaceFieldValue.type":  "org.apache.kafka.connect.transforms.ReplaceField.Value"
> {code}
> But that results in a validation failure saying that the class cannot be found.
> {code}
>             "value": {
>                 "errors": [
>                     "Invalid value org.apache.kafka.connect.transforms.ReplaceField.Value for configuration transforms.replaceFieldValue.type: Class org.apache.kafka.connect.transforms.ReplaceField.Value could not be found.",
>                     "Invalid value null for configuration transforms.replaceFieldValue.type: Not a Transformation"
>                 ],
>                 "name": "transforms.replaceFieldValue.type",
>                 "recommended_values": [
>                     "org.apache.kafka.connect.transforms.ExtractField.Key",
>                     "org.apache.kafka.connect.transforms.ExtractField.Value",
>                     "org.apache.kafka.connect.transforms.HoistField.Key",
>                     "org.apache.kafka.connect.transforms.HoistField.Value",
>                     "org.apache.kafka.connect.transforms.InsertField.Key",
>                     "org.apache.kafka.connect.transforms.InsertField.Value",
>                     "org.apache.kafka.connect.transforms.MaskField.Key",
>                     "org.apache.kafka.connect.transforms.MaskField.Value",
>                     "org.apache.kafka.connect.transforms.RegexRouter",
>                     "org.apache.kafka.connect.transforms.ReplaceField.Key",
>                     "org.apache.kafka.connect.transforms.ReplaceField.Value",
>                     "org.apache.kafka.connect.transforms.SetSchemaMetadata.Key",
>                     "org.apache.kafka.connect.transforms.SetSchemaMetadata.Value",
>                     "org.apache.kafka.connect.transforms.TimestampRouter",
>                     "org.apache.kafka.connect.transforms.ValueToKey"
>                 ],
> {code}
> Since the Key / Value transformations are defined as static nested classes, the proper notation is
> {code}
>     "transforms": "replaceFieldValue",
>     "transforms.replaceFieldValue.type":  "org.apache.kafka.connect.transforms.ReplaceField$Value"
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)