[ https://issues.apache.org/jira/browse/AVRO-2068?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thiruvalluvan M. G. updated AVRO-2068: -------------------------------------- Component/s: java > Improve EnumSchema constructor performance > ------------------------------------------ > > Key: AVRO-2068 > URL: https://issues.apache.org/jira/browse/AVRO-2068 > Project: Apache Avro > Issue Type: Improvement > Components: java > Reporter: Zoltan Farkas > Priority: Trivial > > at > https://github.com/apache/avro/blob/master/lang/java/avro/src/main/java/org/apache/avro/Schema.java#L745 > : > {code} > .... > private static class EnumSchema extends NamedSchema { > private final List<String> symbols; > private final Map<String,Integer> ordinals; > public EnumSchema(Name name, String doc, > LockableArrayList<String> symbols) { > super(Type.ENUM, name, doc); > this.symbols = symbols.lock(); > this.ordinals = new HashMap<String,Integer>(); > int i = 0; > for (String symbol : symbols) > if (ordinals.put(validateName(symbol), i++) != null) > throw new SchemaParseException("Duplicate enum symbol: "+symbol); > } > .... > {code} > should be changed to: > {code} > .... > private static class EnumSchema extends NamedSchema { > private final List<String> symbols; > private final Map<String,Integer> ordinals; > public EnumSchema(Name name, String doc, > LockableArrayList<String> symbols) { > super(Type.ENUM, name, doc); > this.symbols = symbols.lock(); > this.ordinals = new HashMap<String,Integer>(symbols.size()); > int i = 0; > for (String symbol : symbols) > if (ordinals.put(validateName(symbol), i++) != null) > throw new SchemaParseException("Duplicate enum symbol: "+symbol); > } > .... > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)