Hi,
I believe there is an issue with the python library supporting a schema with
optional UUIDs.
The field should look like:
"fields": [
{
"name": "userId",
"type": [
"null",
{
"type": "string",
"logicalType": "uuid"
}
]
}
]
but currently that does not validate with a userId: None and gives a TypeError
exception.
I believe the fix is to catch TypeError here:
https://github.com/apache/avro/blob/master/lang/py/avro/schema.py#L1046 in the
same way that ValueError is caught. Anything that doesn't match the appropriate
UUID type is guaranteed to not be a UUID.
I didn't find this in the issue tracker.
Thanks,
Daniel Young