[ 
https://issues.apache.org/jira/browse/NIFI-4901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16374364#comment-16374364
 ] 

Mark Payne commented on NIFI-4901:
----------------------------------

[~gardellajuanpablo] I believe the behavior that you describe above in this 
Jira is the expected behavior. The schema that you provided indicates that 
there is a single field named "isSwap" and that its type is either boolean or 
null. So it would match something like:
{code:java}
{
  "isSwap": true
}{code}
In the sample JSON that you provided, the "isSwap" field is itself a record 
with a field named "boolean". So a matching schema would look like this:
{code:java}
{
   "type":"record",
   "name":"foo",
   "fields":[
      {
         "name":"isSwap",
         "type": {
            "type": "record",
            "name": "isSwapRecord",
            "fields": [
               {
                  "name": "boolean",
                  "type": [ "boolean", "null" ]
               }
            ]
         }
      }
   ]
}{code}

> Json to Avro using Record framework does not support union types with boolean
> -----------------------------------------------------------------------------
>
>                 Key: NIFI-4901
>                 URL: https://issues.apache.org/jira/browse/NIFI-4901
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>    Affects Versions: 1.5.0
>         Environment: ALL
>            Reporter: Gardella Juan Pablo
>            Priority: Major
>         Attachments: optiona-boolean.zip
>
>
> Given the following valid Avro Schema:
> {code}
> {
>    "type":"record",
>    "name":"foo",
>    "fields":[
>       {
>          "name":"isSwap",
>          "type":[
>             "boolean",
>             "null"
>          ]
>       }     
>    ]
> }
> {code}
> And the following JSON:
> {code}
> {
>   "isSwap": {
>     "boolean": true
>   }
> }
> {code}
> When it is trying to be converted to Avro using ConvertRecord fails with:
> {{org.apache.nifi.serialization.MalformedRecordException: Successfully parsed 
> a JSON object from input but failed to convert into a Record object with the 
> given schema}}
> Attached a repository to reproduce the issue and also included the fix:
> * Run {{mvn clean test}} to reproduce the issue.
> * Run {{mvn clean test -Ppatch}} to test the fix.     



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to