[ 
https://issues.apache.org/jira/browse/AVRO-266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12795391#action_12795391
 ] 

Philip Zeyliger commented on AVRO-266:
--------------------------------------

This is related to AVRO-248 (naming unions).

I agree with Todd that for the specific API it probably makes sense to generate 
container objects for the union.  It probably makes sense to special case null.

Does that actually help re-use?  Say you have a log with 17 types of records, 
some of which are big.  I'm not sure that you'd actually want object-reuse, 
since you might be carrying around that 4MB payload in one of those records for 
way longer than you need to.  Who's responsible for clearing the other 16 
branches?  Is it the caller's responsibility?

-- Philip

> Union as java.lang.Object prevents object reuse
> -----------------------------------------------
>
>                 Key: AVRO-266
>                 URL: https://issues.apache.org/jira/browse/AVRO-266
>             Project: Avro
>          Issue Type: Improvement
>    Affects Versions: 1.2.0
>            Reporter: Todd Lipcon
>
> Because Unions end up deserializing as java.lang.Object and using the 
> object's type to differentiate the union constituents, object reuse is pretty 
> hard to achieve. I don't have a specific benchmark, but I think this will 
> hurt performance for logging applications where every record in a large file 
> is a union, and the type tends to change for each record.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to