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

GH-39001: [Java] Modularize remaining modules #39221

Merged
merged 54 commits into from
Jan 19, 2024

Conversation

jduo
Copy link
Member

@jduo jduo commented Dec 13, 2023

Rationale for this change

Modularize remaining modules outside of memory modules, vector, and format.

What changes are included in this PR?

Are these changes tested?

Yes, existing unit tests now run with modules when using JDK9+.

Are there any user-facing changes?

Yes. There are new command-line options that may be necessary. The way of specifying the output directory for
JNI native library builds differs. The flight-grpc module has been eliminated since it is now built into flight-core.
Documentation has been updated for these changes.

This PR includes breaking changes to public APIs.
There are a number of package structure changes and some modules now need additional command-line arguments.

@github-actions github-actions bot added the awaiting review Awaiting review label Dec 13, 2023
Copy link

⚠️ GitHub issue #39001 has been automatically assigned in GitHub to PR creator.

@jduo
Copy link
Member Author

jduo commented Dec 13, 2023

dataset is having issues due to the directory holding native libs in JARs (the arch eg x86_64) is being treated as a package name. flight-core and other Flight modules requires additional command-line arguments.

Netty is omitted due to requiring user-unfriendly command-line arguments.

@kou kou changed the title GH-39001: Modularize remaining modules GH-39001: [Java] Modularize remaining modules Dec 13, 2023
@jduo jduo force-pushed the modularize-remaining branch from 9ba832c to 9701a21 Compare January 5, 2024 22:55
@jduo jduo marked this pull request as ready for review January 6, 2024 00:55
@jduo
Copy link
Member Author

jduo commented Jan 6, 2024

Doc changes are required as different modules require more command line arguments. I'll update the docs.

@jduo jduo force-pushed the modularize-remaining branch 3 times, most recently from ed7b6be to c4c67b1 Compare January 10, 2024 01:02
@assignUser
Copy link
Member

FYI for testing runing the java-jars job might be useful. You can start it by commenting @github-action crossbow submit java-jars

@jduo jduo force-pushed the modularize-remaining branch from c4c67b1 to ad83e89 Compare January 11, 2024 17:50
@jduo jduo force-pushed the modularize-remaining branch 3 times, most recently from 72747ae to b4d9662 Compare January 11, 2024 18:53
@jduo jduo added the Breaking Change Includes a breaking change to the API label Jan 11, 2024
@jduo jduo self-assigned this Jan 11, 2024
@jduo
Copy link
Member Author

jduo commented Jan 11, 2024

FYI for testing runing the java-jars job might be useful. You can start it by commenting @github-action crossbow submit java-jars

Thanks, I'll run that now.

@jduo
Copy link
Member Author

jduo commented Jan 11, 2024

@GitHub-Action crossbow submit java-jars

@jduo
Copy link
Member Author

jduo commented Jan 11, 2024

@github-actions crossbow submit java-jars

Copy link

Revision: 35f7cba

Submitted crossbow builds: ursacomputing/crossbow @ actions-e879fe00cc

Task Status
java-jars GitHub Actions

@jduo
Copy link
Member Author

jduo commented Jan 11, 2024

@github-actions crossbow submit java-jars

@jduo jduo force-pushed the modularize-remaining branch from 02c0b82 to 3607ed8 Compare January 19, 2024 19:29
@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Jan 19, 2024
Remove explicit setting of ARROW_JAVA_JNI_ARCH_DIR in build system.
Clarify that this should get auto-detected.
@jduo
Copy link
Member Author

jduo commented Jan 19, 2024

@github-actions crossbow submit java-jars

Copy link

Revision: c5723d1

Submitted crossbow builds: ursacomputing/crossbow @ actions-8e395163f9

Task Status
java-jars GitHub Actions

@jduo
Copy link
Member Author

jduo commented Jan 19, 2024

@github-actions crossbow submit java-jars

Copy link

Revision: 0ece855

Submitted crossbow builds: ursacomputing/crossbow @ actions-0785af577e

Task Status
java-jars GitHub Actions

@jduo
Copy link
Member Author

jduo commented Jan 19, 2024

@kou , I've switched to using CMAKE_SYSTEM_PROCESSOR and changed CI scripts and POM files to let auto-detection figure ARROW_JAVA_JNI_ARCH_DIR. I think this addresses everything.

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 for the CMake part

@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting change review Awaiting change review labels Jan 19, 2024
@lidavidm lidavidm merged commit 92682f0 into apache:main Jan 19, 2024
55 of 56 checks passed
@lidavidm lidavidm removed the awaiting merge Awaiting merge label Jan 19, 2024
@github-actions github-actions bot added the awaiting merge Awaiting merge label Jan 19, 2024
Copy link

After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit 92682f0.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 10 possible false positives for unstable benchmarks that are known to sometimes produce them.

dgreiss pushed a commit to dgreiss/arrow that referenced this pull request Feb 19, 2024
### Rationale for this change
Modularize remaining modules outside of memory modules, vector, and format.

### What changes are included in this PR?

### Are these changes tested?
Yes, existing unit tests now run with modules when using JDK9+.

### Are there any user-facing changes?
Yes. There are new command-line options that may be necessary. The way of specifying the output directory for
JNI native library builds differs. The flight-grpc module has been eliminated since it is now built into flight-core.
Documentation has been updated for these changes.

**This PR includes breaking changes to public APIs.**
There are a number of package structure changes and some modules now need additional command-line arguments.

* Closes: apache#39001

Authored-by: James Duong <james.duong@improving.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Feb 28, 2024
### Rationale for this change
Modularize remaining modules outside of memory modules, vector, and format.

### What changes are included in this PR?

### Are these changes tested?
Yes, existing unit tests now run with modules when using JDK9+.

### Are there any user-facing changes?
Yes. There are new command-line options that may be necessary. The way of specifying the output directory for
JNI native library builds differs. The flight-grpc module has been eliminated since it is now built into flight-core.
Documentation has been updated for these changes.

**This PR includes breaking changes to public APIs.**
There are a number of package structure changes and some modules now need additional command-line arguments.

* Closes: apache#39001

Authored-by: James Duong <james.duong@improving.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
thisisnic pushed a commit to thisisnic/arrow that referenced this pull request Mar 8, 2024
### Rationale for this change
Modularize remaining modules outside of memory modules, vector, and format.

### What changes are included in this PR?

### Are these changes tested?
Yes, existing unit tests now run with modules when using JDK9+.

### Are there any user-facing changes?
Yes. There are new command-line options that may be necessary. The way of specifying the output directory for
JNI native library builds differs. The flight-grpc module has been eliminated since it is now built into flight-core.
Documentation has been updated for these changes.

**This PR includes breaking changes to public APIs.**
There are a number of package structure changes and some modules now need additional command-line arguments.

* Closes: apache#39001

Authored-by: James Duong <james.duong@improving.com>
Signed-off-by: David Li <li.davidm96@gmail.com>
@raulcd
Copy link
Member

raulcd commented Apr 15, 2024

@github-actions crossbow submit verify-rc-source-integration-linux-*

@raulcd
Copy link
Member

raulcd commented Apr 15, 2024

I am verifying if this caused: #41201

Copy link

Revision: 0ece855

Submitted crossbow builds: ursacomputing/crossbow @ actions-c29cc1b749

Task Status
verify-rc-source-integration-linux-almalinux-8-amd64 GitHub Actions
verify-rc-source-integration-linux-conda-latest-amd64 GitHub Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64 GitHub Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64 GitHub Actions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Java] Build remaining modules as JPMS modules
6 participants