You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@beam.apache.org by GitBox <gi...@apache.org> on 2022/03/02 17:54:00 UTC

[GitHub] [beam] reuvenlax commented on pull request #16947: [BEAM-13416] WIP

reuvenlax commented on pull request #16947:
URL: https://github.com/apache/beam/pull/16947#issuecomment-1057211540


   On Wed, Mar 2, 2022 at 3:02 AM Moritz Mack ***@***.***> wrote:
   
   > @reuvenlax <https://github.com/reuvenlax> I had a closer look why
   > JavaFieldSchema does not work. There's quite some issues, and this is by
   > far not an exhaustive list:
   >
   >    - Only public, non-static, non-transient fields
   >    <https://github.com/apache/beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/schemas/utils/ReflectUtils.java#L129-L151>
   >    are considered. Generated models in the AWS SDK are private, however. Using
   >    some kind of Field filter in JavaFieldSchema, that can then be overwritten,
   >    this could be addressed. But this obviously also means to generate
   >    different FieldValueGetter using ByteBuddy.
   >
   > But the getter methods are public, right?
   
   
   >
   >    - Next, more involved I suppose, such AWS SDK models contain final
   >    fields only, but there's no known creator. The annotation based approach
   >    isn't feasible for such "external" classes.
   >
   > That's something I think could be solved. Yes today we require an
   annotation to specify the builder, however we could easily add a
   programmatic way to specify this.
   
   >
   >    - An annoyance, but has to be handled as well: These model classes may
   >    contain maps with non primitive types. This is not supported. Also, in some
   >    cases there might be recursive type hierarchies that can't be supported and
   >    have to be dealt with.
   >
   > I think we do support this, or are you referring to the key type?
   Recursive type hierarchies are also definitely support.
   
   >
   >
   > Also, I've seen all the optimisations done in JavaFieldSchema and
   > JavaBeanSchema. Honestly, at this point I don't bother much about that yet.
   > I'm more interested to understand what the right approach forward is giving
   > all the AWS IOs currently use hand crafted low level coders.
   >
   > —
   > Reply to this email directly, view it on GitHub
   > <https://github.com/apache/beam/pull/16947#issuecomment-1056795786>, or
   > unsubscribe
   > <https://github.com/notifications/unsubscribe-auth/AFAYJVNIELMVNBKPM6QFDOTU55DFZANCNFSM5PKC75YA>
   > .
   > Triage notifications on the go with GitHub Mobile for iOS
   > <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
   > or Android
   > <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
   >
   > You are receiving this because you were mentioned.Message ID:
   > ***@***.***>
   >
   


-- 
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: github-unsubscribe@beam.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org