[ https://issues.apache.org/jira/browse/AVRO-3048?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated AVRO-3048: --------------------------------- Labels: pull-request-available (was: ) > Using builders leads to performance degradation > ----------------------------------------------- > > Key: AVRO-3048 > URL: https://issues.apache.org/jira/browse/AVRO-3048 > Project: Apache Avro > Issue Type: Bug > Components: java > Affects Versions: 1.9.2, 1.10.1 > Reporter: Peter > Assignee: Martin Jubelgas > Priority: Major > Labels: pull-request-available > Fix For: 1.11.0 > > Time Spent: 10m > Remaining Estimate: 0h > > When you do a .newBuilder() for avro generated classes, this will call > org.apache.avro.specific.SpecificData.getForSchema: > > public static SpecificData getForSchema(Schema reader) { > if (reader.getType() == Type.RECORD) { > final String className = getClassName(reader); > if (className != null) { > final Class<?> clazz; > try > { > clazz = Class.forName(className); > return getForClass(clazz); } > catch (ClassNotFoundException e) > { return SpecificData.get(); > } > } > } > > which seems then to seldom find the value inside the try and a lot of > ClassNotFoundException is thrown. > Throwing internal exceptions has great performance penalties and in practice > users of avro 1.9.x. and 1.10.x in high performance applications are forced > not to use builders. > > Information about same problem is also found on: > [https://forums.databricks.com/questions/50803/orgapacheavrospecificspecificdatagetforschema-sear.html] > Problem exists on at least 1.9.2 and 1.10.1 (but not on 1.7.x) in OSGI > environment -- This message was sent by Atlassian Jira (v8.3.4#803005)