Avro serialization doesn't support Float.NaN or Double.NaN.
Avro serialization doesn't support Float.NaN or Double.NaN. Whereas a
union of number and null is sufficient in cases where the nodata value
for some domain is can be serialized (Int.MinValue is just another
integer and, therefore, serializable without difficulty), we are in need
of an alternative strategy for floating point serialization.
To this end, we've serialized with a union of boolean and floating point
noDataValue can either be:
1. true (and, therefore, ConstantNoData)
2. false (NoNoData)
- OR -
3. a floating point value (which is a UserDefinedNoDataValue's value)