bruce szalwinski created KAFKA-4929:
---------------------------------------
Summary: 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)