Avro field default values
Solution 1:
The default value of a union corresponds to the first schema of the union (Source). Your union is defined as ["long", "null"]
therefor the default value must be a long number. null
is not a long number that is why you are getting an error.
If you still want to define null
as a default value then put null schema first, i.e. change the union to ["null", "long"]
instead.
Solution 2:
Its a bug at Avro's end which is marked as Not A Problem
.
You need to add default attribute to mention default value.
{"name": "xxx", "type": ["null", "boolean"], "default": null}
Please refer AVRO-1803.
Solution 3:
You must provide "default": null
not "default": "null"
in the schema to get the builder method working
Solution 4:
I think the problem is that you are using builder,
According to the documentation of the Java API:
using a builder requires setting all fields, even if they are null