avro-promotions-one-directional

Status: IN

Type promotion during schema resolution is strictly one-directional (int→long→float→double, int→float, int→double, long→double); reverse promotion (e.g., long→int) is not supported and raises SchemaCompatibilityError.

Source: entries/2026/05/29/avro-serializer-avro_serializer.md

Example

PROMOTIONS = {
    ("int", "long"), ("int", "float"), ("int", "double"),
    ("long", "float"), ("long", "double"),
    ("float", "double"),
}  # int->long ok, long->int is SchemaCompatibilityError

JSON