You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Jeff Klukas (JIRA)" <ji...@apache.org> on 2018/11/08 18:06:00 UTC

[jira] [Commented] (BEAM-1891) Java @Autovalue: currently doesn't have a good coder

    [ https://issues.apache.org/jira/browse/BEAM-1891?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16680115#comment-16680115 ] 

Jeff Klukas commented on BEAM-1891:
-----------------------------------

AvroCoder appears to be a great solution except for the current blocker that AvroCoder can't process a class without a no-argument constructor, which is the case for AutoValue classes.

AutoValue does support extensions, though, so it may be possible to create and register a PrivateNoArgumentConstructor extension that makes our generated AutoValue classes compatible with AvroCoder. We'd need to do a proof of concept to see if there aren't additional technical blockers, but does this sound like a tenable direction worth pursuing?

> Java @Autovalue: currently doesn't have a good coder
> ----------------------------------------------------
>
>                 Key: BEAM-1891
>                 URL: https://issues.apache.org/jira/browse/BEAM-1891
>             Project: Beam
>          Issue Type: Improvement
>          Components: sdk-java-core
>            Reporter: Stephen Sisk
>            Priority: Minor
>              Labels: newbie, starter
>
> In Java, @AutoValue classes are something that we would like developers to be able to use in PCollections in Beam.
> However, there doesn't appear to be a good existing Beam Coder for Autovalue generated classes:
> * Avrocoder doesn't work
> * Serializable Coder works, but has other problems (larger/less efficient)
> This is discussed fully at https://lists.apache.org/thread.html/29617096819824d5c12247a246d316b763d9e583a21fff2f1c430077@%3Cdev.beam.apache.org%3E 
> We may need to implement an AutoValueCoder.
> cc [~pabloem] [~bchambers]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)