You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Anonymous (Jira)" <ji...@apache.org> on 2023/02/13 09:43:00 UTC

[jira] [Updated] (BEAM-7556) Enable to upgrade proxy generation independently of beam for java support

     [ https://issues.apache.org/jira/browse/BEAM-7556?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anonymous updated BEAM-7556:
----------------------------
    Status: Triage Needed  (was: Resolved)

> Enable to upgrade proxy generation independently of beam for java support
> -------------------------------------------------------------------------
>
>                 Key: BEAM-7556
>                 URL: https://issues.apache.org/jira/browse/BEAM-7556
>             Project: Beam
>          Issue Type: Task
>          Components: sdk-java-core
>    Affects Versions: 2.13.0
>            Reporter: Romain Manni-Bucau
>            Priority: P2
>              Labels: Done
>             Fix For: Not applicable
>
>         Attachments: error.txt
>
>
> Beam is now using a custom shaded version of bytebudy which makes impossible - until you reshade - to upgrade bytebuddy without requiring a new beam release.
> However with the fast release rate of the JVM it is important to be able to upgrade bytebuddy - at least while beam is using it which is technically not a strong requirement - to enable to run on the new JVM.
> For example, last beam release does not support recent java:
> {code}
> Caused by: java.lang.UnsupportedOperationException: Cannot define class using reflection: Cannot define nest member class java.lang.reflect.AccessibleObject$Cache + within different package then class org.apache.beam.repackaged.beam_sdks_java_core.net.bytebuddy.mirror.AccessibleObject
> {code}
> My preference to fix this issue would be to relax the proxying definition to just use a "proxy classloader" where the proxy would be defined but it requires to be able to attach it to an execution - where beam is not yet super clean.
> Alternative is to have a SPI for the asm usage and enable to user to replace the bytebuddy impl with either a not shaded version or even a pure asm one to let him control the dependencies.
> Romain



--
This message was sent by Atlassian Jira
(v8.20.10#820010)