Maxim Prygunov created AVRO-4332:
------------------------------------
Summary: IDL writer does not serialize enum default values
Key: AVRO-4332
URL: https://issues.apache.org/jira/browse/AVRO-4332
Project: Apache Avro
Issue Type: Bug
Components: java
Affects Versions: 1.12.1, 1.13.0, 1.12.2
Reporter: Maxim Prygunov
When an Avro Schema of type ENUM has a default value set (via
Schema.createEnum(name, doc, namespace, symbols, enumDefault)), the IDL writer
in IdlUtils.writeSchema() does not serialize the default value into the IDL
output.
For example, given an enum schema with "default": "ACTIVE":
1 Schema enumWithDefault = Schema.createEnum("Status", null, "naming",
2 Arrays.asList("ACTIVE", "INACTIVE"), "ACTIVE");
Calling IdlUtils.writeIdlProtocol(writer, enumWithDefault) produces:
1 enum Status \{ ACTIVE, INACTIVE }
But the correct IDL representation should be:
1 enum Status \{ ACTIVE, INACTIVE } = ACTIVE;
This means round-tripping (IDL → Schema → IDL) loses the default value
information for enums, which can cause downstream issues in code generators and
schema validation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)