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

Federico Valeri reassigned KAFKA-20020:
---------------------------------------

    Assignee: Federico Valeri

> Improve UUID nullability description in API readme
> --------------------------------------------------
>
>                 Key: KAFKA-20020
>                 URL: https://issues.apache.org/jira/browse/KAFKA-20020
>             Project: Kafka
>          Issue Type: Bug
>          Components: documentation
>    Affects Versions: 4.1.1
>            Reporter: Federico Valeri
>            Assignee: Federico Valeri
>            Priority: Major
>
> The Nullable Fields section in the Kafka message protocol readme can make 
> people think that they can declare nullable a field of type Uuid:
> {code}
> Booleans, ints, and floats can never be null.  However, fields that are 
> strings,
> bytes, uuid, records, or arrays may optionally be "nullable".  When a field is
> "nullable", that simply means that we are prepared to serialize and 
> deserialize
> null entries for that field.
> ...
> If a field is declared as non-nullable, and it is present in the message
> version you are using, you should set it to a non-null value before 
> serializing
> the message.  Otherwise, you will get a runtime error.
> {code}
> This is not possible by design as the UUIDFieldType class does NOT override 
> canBeNullable(), so it inherits the default implementation which returns 
> false. Uuid fields use a special zero uuid value (all bits set to 0) as a 
> sentinel to represent "no UUID" instead of null.
>  



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

Reply via email to