[
https://issues.apache.org/jira/browse/NIFI-5662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16689387#comment-16689387
]
ASF GitHub Bot commented on NIFI-5662:
--------------------------------------
GitHub user gideonkorir opened a pull request:
https://github.com/apache/nifi/pull/3175
Support for generic fixed when using decimal logical type
Fix for [Avro decimal
conversion](https://jira.apache.org/jira/browse/NIFI-5662)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gideonkorir/nifi nifi-5662
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/nifi/pull/3175.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3175
----
commit b52a3a240fcfbbec288deb37a0ef43acd79e42d2
Author: gkkorir <gkkorir@...>
Date: 2018-11-16T12:49:24Z
Support for generic fixed when using decimal logical type
----
> AvroTypeUtil Decimal support using Fixed Error
> ----------------------------------------------
>
> Key: NIFI-5662
> URL: https://issues.apache.org/jira/browse/NIFI-5662
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Core Framework
> Affects Versions: 1.7.1
> Environment: RHEL 7.5
> JDK 1.8.182
> Reporter: Gideon Korir
> Priority: Major
>
> When the decimal is specified as fixed in the Avro schema, AvroTypeUtils
> converts the decimal into a ByteBuffer instead of a GenericFixed.
> The code:
> {code:java}
> return new Conversions.DecimalConversion().toBytes(decimal, fieldSchema,
> logicalType)
> {code}
> Should be:
> {code:java}
> return fieldSchema.getType() == Type.BYTES
> ? new Conversions.DecimalConversion().toBytes(decimal, fieldSchema,
> logicalType)
> : new Conversions.DecimalConversion().toFixed(decimal, fieldSchema,
> logicalType);
> {code}
> The former causes the AvroRecordSetWriter to fail with the error:
> _org.apache.avro.file.DataFileWriter$AppendWriteException:
> java.lang.ClassCastException: java.nio.HeapByteBuffer cannot be cast to
> org.apache.avro.generic.GenericFixed_
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)