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

Hai Lu updated SAMZA-2347:
--------------------------
    Fix Version/s: 1.3

> Samza-sql: Fix AvroTypeFactoryImpl to properly denote a field as optional and 
> nullable.
> ---------------------------------------------------------------------------------------
>
>                 Key: SAMZA-2347
>                 URL: https://issues.apache.org/jira/browse/SAMZA-2347
>             Project: Samza
>          Issue Type: Bug
>            Reporter: Aditya Toomula
>            Assignee: Aditya Toomula
>            Priority: Major
>             Fix For: 1.3
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> * Nullable fields in avro are of type union with one of the values being null.
> * Fields with default values are optional ONLY while reading. Default values 
> are
> * meant for schema evolution where reader schema is different from writer 
> schema.
> * Please note here that even the fields with default values MUST be specified 
> at
> * the time of serialization.
> *
> * Behavior on the consumption side:
> * While reading, the fields that are not written will be filled with default 
> values
> * that are specified in the reader schema. Please note that this happens only 
> when
> * the field with default value is not present in writer schema but is present 
> in
> * reader schema.
> *
> * Behavior on the producer side:
> * All non-nullable avro fields should have values including fields with 
> default values.
> * Nullable fields need not be explicitly set as they are set at the time of 
> serialization.
> *
> * So, all nullable fields are optional fields on the producer side in Avro.
> * \{@link AvroTypeFactoryImpl} reflects the state of fields on the producer 
> side.
> *
> * Note: There could be cases where the producer might embed some fields, in 
> which case
> * a non-nullable field is considered optional.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to