Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.9.x] [MNG-7913] Upgrade Sisu version #1286

Merged
merged 2 commits into from Oct 26, 2023

Conversation

cstamas
Copy link
Member

@cstamas cstamas commented Oct 17, 2023

To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5).


https://issues.apache.org/jira/browse/MNG-7913

To version that supports gleaning JSR330 component classes up
to Java 21. The reasoning of this change is only to allow
3rd party Maven plugins/Maven extensions/other JSR330 components
(managed by Maven embedded Sisu) to use bytecode newer that
Java 14 (Sisu 0.3.5).

---

https://issues.apache.org/jira/browse/MNG-7913
@cstamas cstamas self-assigned this Oct 17, 2023
@gnodet
Copy link
Contributor

gnodet commented Oct 17, 2023

To version that supports gleaning JSR330 component classes up to Java 21. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5).

https://issues.apache.org/jira/browse/MNG-7913

Fwiw, I think you'll also need to back port #1126 in order to make sure the latest ASM supporting JDK 21 is used.

@kwin
Copy link
Member

kwin commented Oct 17, 2023

I think supporting Java up to 19 is enough for Maven 3.9

@cstamas
Copy link
Member Author

cstamas commented Oct 17, 2023

I agree with @kwin: just keep it simple with Maven 3.9, let it go up to Java 21 (maybe M3 is released soon, but M2 does the job as well) but we don't want to "future proof" 3.9, as there is Maven4 for that.

@kwin
Copy link
Member

kwin commented Oct 18, 2023

@cstamas just to clarify, M2 only supports up to Java 19 bytecode which contradicts the description of this PR. Please adjust it accordingly.

@cstamas cstamas merged commit ecd59b7 into apache:maven-3.9.x Oct 26, 2023
12 checks passed
@cstamas cstamas deleted the maven-3.9.x-MNG-7913 branch October 26, 2023 22:22
@slawekjaranowski slawekjaranowski added this to the 3.9.6 milestone Nov 19, 2023
LuciferYang pushed a commit to apache/spark that referenced this pull request Dec 9, 2023
### What changes were proposed in this pull request?

This PR aims to upgrade `Apache Maven` to 3.9.6.

### Why are the changes needed?

Apache Maven 3.9.6 has MNG-7913 to improve Java supports. Although it's only for up to Java 19, this is better than the previous condition (up to Java 14).
- apache/maven#1286

> To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5).

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

Pass the CIs.

### Was this patch authored or co-authored using generative AI tooling?

No.

Closes #44267 from dongjoon-hyun/SPARK-46335.

Authored-by: Dongjoon Hyun <dhyun@apple.com>
Signed-off-by: yangjie01 <yangjie01@baidu.com>
dongjoon-hyun added a commit to apache/orc that referenced this pull request Dec 9, 2023
### What changes were proposed in this pull request?

This PR aims to upgrade `Apache Maven` to 3.9.6.

### Why are the changes needed?

Apache Maven 3.9.6 has MNG-7913 to improve Java supports. Although it's only for up to Java 19, this is better than the previous condition (up to Java 14).
- apache/maven#1286

> To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5).

In addition, Maven 3.9.4 hits IOError like the following on Ubuntu 24.04.
```
root479e66773188:/orc/java# ./mvnw --version
Exception in thread "main" java.io.IOError: java.io.IOException: Broken pipe
	at org.fusesource.jansi.AnsiConsole.systemUninstall(AnsiConsole.java:544)
	at org.apache.maven.shared.utils.logging.MessageUtils.doSystemUninstall(MessageUtils.java:101)
	at org.apache.maven.shared.utils.logging.MessageUtils.systemUninstall(MessageUtils.java:80)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:283)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:226)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:407)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:348)
Caused by: java.io.IOException: Broken pipe
	at java.base/java.io.FileOutputStream.writeBytes(Native Method)
	at java.base/java.io.FileOutputStream.write(FileOutputStream.java:367)
	at org.fusesource.jansi.io.FastBufferedOutputStream.flushBuffer(FastBufferedOutputStream.java:58)
	at org.fusesource.jansi.io.FastBufferedOutputStream.flush(FastBufferedOutputStream.java:65)
	at java.base/java.io.FilterOutputStream.flush(FilterOutputStream.java:155)
	at org.fusesource.jansi.io.AnsiOutputStream.uninstall(AnsiOutputStream.java:338)
	at org.fusesource.jansi.AnsiPrintStream.uninstall(AnsiPrintStream.java:82)
	at org.fusesource.jansi.AnsiConsole.systemUninstall(AnsiConsole.java:541)
	... 9 more
Using `mvn` from path: /orc/java/build/apache-maven-3.9.4/bin/mvn
```
This is fixed at Maven 3.9.5+.
```
root479e66773188:/orc/java# ./mvnw --version
exec: curl --silent --show-error -L https://www.apache.org/dyn/closer.lua?action=download&filename=/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz
Using `mvn` from path: /orc/java/build/apache-maven-3.9.5/bin/mvn
Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)
Maven home: /orc/java/build/apache-maven-3.9.5
Java version: 21.0.1, vendor: Private Build, runtime: /usr/lib/jvm/java-21-openjdk-arm64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "6.4.16-linuxkit", arch: "aarch64", family: "unix"
```

### How was this patch tested?

Pass the CIs.

Closes #1687 from dongjoon-hyun/ORC-1550.

Authored-by: Dongjoon Hyun <dongjoon@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
dbatomic pushed a commit to dbatomic/spark that referenced this pull request Dec 11, 2023
### What changes were proposed in this pull request?

This PR aims to upgrade `Apache Maven` to 3.9.6.

### Why are the changes needed?

Apache Maven 3.9.6 has MNG-7913 to improve Java supports. Although it's only for up to Java 19, this is better than the previous condition (up to Java 14).
- apache/maven#1286

> To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5).

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

Pass the CIs.

### Was this patch authored or co-authored using generative AI tooling?

No.

Closes apache#44267 from dongjoon-hyun/SPARK-46335.

Authored-by: Dongjoon Hyun <dhyun@apple.com>
Signed-off-by: yangjie01 <yangjie01@baidu.com>
cxzl25 pushed a commit to cxzl25/orc that referenced this pull request Jan 11, 2024
### What changes were proposed in this pull request?

This PR aims to upgrade `Apache Maven` to 3.9.6.

### Why are the changes needed?

Apache Maven 3.9.6 has MNG-7913 to improve Java supports. Although it's only for up to Java 19, this is better than the previous condition (up to Java 14).
- apache/maven#1286

> To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5).

In addition, Maven 3.9.4 hits IOError like the following on Ubuntu 24.04.
```
root479e66773188:/orc/java# ./mvnw --version
Exception in thread "main" java.io.IOError: java.io.IOException: Broken pipe
	at org.fusesource.jansi.AnsiConsole.systemUninstall(AnsiConsole.java:544)
	at org.apache.maven.shared.utils.logging.MessageUtils.doSystemUninstall(MessageUtils.java:101)
	at org.apache.maven.shared.utils.logging.MessageUtils.systemUninstall(MessageUtils.java:80)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:283)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:226)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:407)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:348)
Caused by: java.io.IOException: Broken pipe
	at java.base/java.io.FileOutputStream.writeBytes(Native Method)
	at java.base/java.io.FileOutputStream.write(FileOutputStream.java:367)
	at org.fusesource.jansi.io.FastBufferedOutputStream.flushBuffer(FastBufferedOutputStream.java:58)
	at org.fusesource.jansi.io.FastBufferedOutputStream.flush(FastBufferedOutputStream.java:65)
	at java.base/java.io.FilterOutputStream.flush(FilterOutputStream.java:155)
	at org.fusesource.jansi.io.AnsiOutputStream.uninstall(AnsiOutputStream.java:338)
	at org.fusesource.jansi.AnsiPrintStream.uninstall(AnsiPrintStream.java:82)
	at org.fusesource.jansi.AnsiConsole.systemUninstall(AnsiConsole.java:541)
	... 9 more
Using `mvn` from path: /orc/java/build/apache-maven-3.9.4/bin/mvn
```
This is fixed at Maven 3.9.5+.
```
root479e66773188:/orc/java# ./mvnw --version
exec: curl --silent --show-error -L https://www.apache.org/dyn/closer.lua?action=download&filename=/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz
Using `mvn` from path: /orc/java/build/apache-maven-3.9.5/bin/mvn
Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546)
Maven home: /orc/java/build/apache-maven-3.9.5
Java version: 21.0.1, vendor: Private Build, runtime: /usr/lib/jvm/java-21-openjdk-arm64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "6.4.16-linuxkit", arch: "aarch64", family: "unix"
```

### How was this patch tested?

Pass the CIs.

Closes apache#1687 from dongjoon-hyun/ORC-1550.

Authored-by: Dongjoon Hyun <dongjoon@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
dongjoon-hyun added a commit to dongjoon-hyun/spark that referenced this pull request Apr 16, 2024
This PR aims to upgrade `Apache Maven` to 3.9.6.

Apache Maven 3.9.6 has MNG-7913 to improve Java supports. Although it's only for up to Java 19, this is better than the previous condition (up to Java 14).
- apache/maven#1286

> To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5).

No.

Pass the CIs.

No.

Closes apache#44267 from dongjoon-hyun/SPARK-46335.

Authored-by: Dongjoon Hyun <dhyun@apple.com>
Signed-off-by: yangjie01 <yangjie01@baidu.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants