[ 
https://issues.apache.org/jira/browse/AVRO-4332?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ismaël Mejía reassigned AVRO-4332:
----------------------------------

    Assignee: Maxim Prygunov

> 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
>            Assignee: Maxim Prygunov
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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)

Reply via email to