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)