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

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

                Author: ASF GitHub Bot
            Created on: 11/Jan/22 18:21
            Start Date: 11/Jan/22 18:21
    Worklog Time Spent: 10m 
      Work Description: RyanSkraba commented on pull request #1333:
URL: https://github.com/apache/avro/pull/1333#issuecomment-1010238781


   I brought up the issue of supporting more than one version at a time on the 
mailing list again!  If it would make your work easier, please go ahead and 
weigh in :D 
   
   It looks like your avro-util repo is one of the only places that deals with 
interoperating between Java SpecificRecords that were generated with different 
versions of Avro.  I remain impressed by the task!
   
   Is this something that the Avro project can or should be more involved in?  
Either making it easier for your utilities or doing some specific tests when 
validating a new release candidate?  Is this something to bring up on the 
mailing list?
   
   


-- 
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: 707041)
    Time Spent: 2h 20m  (was: 2h 10m)

> 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: 2h 20m
>  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.20.1#820001)

Reply via email to