Andrew Psaltis created NIFI-3504:
------------------------------------

             Summary: TransformCSVToAvro and TransformAvroToCSV incorrectly 
handle logicalTypes
                 Key: NIFI-3504
                 URL: https://issues.apache.org/jira/browse/NIFI-3504
             Project: Apache NiFi
          Issue Type: Bug
          Components: Core Framework
    Affects Versions: 1.2.0
            Reporter: Andrew Psaltis
            Assignee: Andrew Psaltis


The current implementation of the encoding and decoding of Avro logicalTypes is 
inconsistent with the Avro 1.7.7 and 1.8.1 specifications. Currently it is 
assumed that a logical type always has the underlying Avro type of Byte. 
However, that is not consistent with the following text, emphasis mine that was 
extracted from the logical types section of the [Avro 
specification|http://avro.apache.org/docs/1.7.7/spec.html#Logical+Types].

{quote}
A logical type *is always serialized using its underlying Avro type* so that 
values are encoded in exactly the same way as the equivalent Avro type that 
does not have a logicalType attribute. Language implementations may choose to 
represent logical types with an appropriate native type, although this is not 
required.

Language implementations *must ignore unknown logical types when reading, and 
should use the underlying Avro type. If a logical type is invalid, for example 
a decimal with scale greater than its precision, then implementations should 
ignore the logical type and use the underlying Avro type.*

{quote}

[1]



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

Reply via email to