You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Pierre Villard (Jira)" <ji...@apache.org> on 2026/01/05 10:36:05 UTC

[jira] [Resolved] (NIFI-4240) Setting value.deserializer and key.deserializer in consume kafka 0.10

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

Pierre Villard resolved NIFI-4240.
----------------------------------
    Resolution: Feedback Received

Apache NiFi 1.x is no longer maintained and no new release is planned on the 1.x release line. Marking as resolved as part of a cleanup operation. Please open a new one with an updated description if this is still relevant for NiFi 2.x.

> Setting value.deserializer and key.deserializer in consume kafka 0.10
> ---------------------------------------------------------------------
>
>                 Key: NIFI-4240
>                 URL: https://issues.apache.org/jira/browse/NIFI-4240
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Extensions
>    Affects Versions: 1.3.0
>            Reporter: MichaƂ Terbert
>            Priority: Major
>
> We can not set in Kafka Consumer Processor (ConsumeKafka_0_10)  key.deserilzer or value.deserilizer:
> {quote}Key/value De-Serializer must be ByteArrayDeserializer.class{quote}
> After prepare our custom class based on ByteArrayDeserializer we can not still use them.
> Workaround:
> Modify KafkaProcessorUtils.java:
> Comment below lines:
> {code:java}
>     final String keyDeSerializer = validationContext.getProperty(new PropertyDescriptor.Builder().name(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG).build()).getValue();
>     if (keyDeSerializer != null && !ByteArrayDeserializer.class.getName().equals(keyDeSerializer)) {
>         results.add(new ValidationResult.Builder().subject(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG)
>                 .explanation("Key De-Serializer must be '" + ByteArrayDeserializer.class.getName() + "' was '" + keyDeSerializer + "'").build());
>     }
>     final String valueDeSerializer = validationContext.getProperty(new PropertyDescriptor.Builder().name(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG).build()).getValue();
>     if (valueDeSerializer != null && !ByteArrayDeserializer.class.getName().equals(valueDeSerializer)) {
>         results.add(new ValidationResult.Builder().subject(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG)
>                 .explanation("Value De-Serializer must be " + ByteArrayDeserializer.class.getName() + "' was '" + valueDeSerializer + "'").build());
>     }{code}
> The same situatuion is in ConsumeKafkaRecord_0_10.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)