avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philip Zeyliger (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AVRO-266) Union as java.lang.Object prevents object reuse
Date Wed, 30 Dec 2009 19:03:29 GMT

    [ 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.


Mime
View raw message