Skip to content
Snippets Groups Projects
  • dpsutton's avatar
    b40e90d7
    Downgrade graal to prevent multi-release issues (#24357) · b40e90d7
    dpsutton authored
    The jar worked fine except when trying to add partner jars (exasol,
    starburst, etc)
    
    ```shell
    ❯ java --version
    openjdk 11.0.14.1 2022-02-08
    OpenJDK Runtime Environment Temurin-11.0.14.1+1 (build 11.0.14.1+1)
    OpenJDK 64-Bit Server VM Temurin-11.0.14.1+1 (build 11.0.14.1+1, mixed mode)
    
    /tmp/j via :coffee: v11.0.14.1 on :cloud:  metabase-query
    ❯ jar uf 0.44.0-RC1.jar modules/*.jar
    java.lang.module.InvalidModuleDescriptorException: Unsupported major.minor version 61.0
    	at java.base/jdk.internal.module.ModuleInfo.invalidModuleDescriptor(ModuleInfo.java:1091)
    	at java.base/jdk.internal.module.ModuleInfo.doRead(ModuleInfo.java:195)
    	at java.base/jdk.internal.module.ModuleInfo.read(ModuleInfo.java:147)
    	at java.base/java.lang.module.ModuleDescriptor.read(ModuleDescriptor.java:2553)
    	at jdk.jartool/sun.tools.jar.Main.addExtendedModuleAttributes(Main.java:2083)
    	at jdk.jartool/sun.tools.jar.Main.update(Main.java:1017)
    	at jdk.jartool/sun.tools.jar.Main.run(Main.java:366)
    	at jdk.jartool/sun.tools.jar.Main.main(Main.java:1680)
    ```
    
    The 22.1.0 graal/js requires a similarly versioned graal/truffle which
    is multi-release but includes on versions/11 class files. The upgraded
    one includes versions/17 and since our uberjar is not multi-release,
    when running it on java 11 it rejects handling class version 61.0 (java
    17) files. If the uberjar were multi-release it would know to select the
    versions it wanted.
    Downgrade graal to prevent multi-release issues (#24357)
    dpsutton authored
    The jar worked fine except when trying to add partner jars (exasol,
    starburst, etc)
    
    ```shell
    ❯ java --version
    openjdk 11.0.14.1 2022-02-08
    OpenJDK Runtime Environment Temurin-11.0.14.1+1 (build 11.0.14.1+1)
    OpenJDK 64-Bit Server VM Temurin-11.0.14.1+1 (build 11.0.14.1+1, mixed mode)
    
    /tmp/j via :coffee: v11.0.14.1 on :cloud:  metabase-query
    ❯ jar uf 0.44.0-RC1.jar modules/*.jar
    java.lang.module.InvalidModuleDescriptorException: Unsupported major.minor version 61.0
    	at java.base/jdk.internal.module.ModuleInfo.invalidModuleDescriptor(ModuleInfo.java:1091)
    	at java.base/jdk.internal.module.ModuleInfo.doRead(ModuleInfo.java:195)
    	at java.base/jdk.internal.module.ModuleInfo.read(ModuleInfo.java:147)
    	at java.base/java.lang.module.ModuleDescriptor.read(ModuleDescriptor.java:2553)
    	at jdk.jartool/sun.tools.jar.Main.addExtendedModuleAttributes(Main.java:2083)
    	at jdk.jartool/sun.tools.jar.Main.update(Main.java:1017)
    	at jdk.jartool/sun.tools.jar.Main.run(Main.java:366)
    	at jdk.jartool/sun.tools.jar.Main.main(Main.java:1680)
    ```
    
    The 22.1.0 graal/js requires a similarly versioned graal/truffle which
    is multi-release but includes on versions/11 class files. The upgraded
    one includes versions/17 and since our uberjar is not multi-release,
    when running it on java 11 it rejects handling class version 61.0 (java
    17) files. If the uberjar were multi-release it would know to select the
    versions it wanted.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.