[ 
https://issues.apache.org/jira/browse/AVRO-3048?focusedWorklogId=656215&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-656215
 ]

ASF GitHub Bot logged work on AVRO-3048:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 28/Sep/21 15:42
            Start Date: 28/Sep/21 15:42
    Worklog Time Spent: 10m 
      Work Description: xkrogen commented on pull request #1333:
URL: https://github.com/apache/avro/pull/1333#issuecomment-929349477


   Thanks for looking @RyanSkraba !
   
   Speaking as an enterprise user of Avro, there is a fair amount of FUD around 
Avro minor version upgrades. I won't comment on whether or not it's warranted, 
but it definitely exists. My organization would benefit greatly from a patch 
release of Avro 1.10 that has this performance regression addressed, allowing 
for an easy upgrade without switching minor versions, and I'm sure many other 
organizations would benefit similarly.
   
   IMO, the case for a backport is particularly strong here as this is a fix 
for a performance _regression_, as opposed to a net-new enhancement.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 656215)
    Time Spent: 0.5h  (was: 20m)

> 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: 0.5h
>  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)

Reply via email to