Skip to content

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

Merged
lidavidm merged 54 commits into
apache:mainfrom
Bit-Quill:modularize-remaining
Jan 19, 2024
Merged

GH-39001: [Java] Modularize remaining modules#39221
lidavidm merged 54 commits into
apache:mainfrom
Bit-Quill:modularize-remaining

Conversation

@jduo

@jduojduo commented Dec 13, 2023

Copy link
Copy Markdown
Member

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-actionsgithub-actionsBot added the awaiting review Awaiting review label Dec 13, 2023
@github-actions

Copy link
Copy Markdown

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

@jduo

jduo commented Dec 13, 2023

Copy link
Copy Markdown
MemberAuthor

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.

@koukou changed the title GH-39001: Modularize remaining modulesGH-39001: [Java] Modularize remaining modulesDec 13, 2023
@jduo
jduoforce-pushed the modularize-remaining branch from 9ba832c to 9701a21CompareJanuary 5, 2024 22:55
@jduo
jduo marked this pull request as ready for review January 6, 2024 00:55
@jduo

jduo commented Jan 6, 2024

Copy link
Copy Markdown
MemberAuthor

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

@jduo
jduoforce-pushed the modularize-remaining branch 3 times, most recently from ed7b6be to c4c67b1CompareJanuary 10, 2024 01:02
@assignUser

Copy link
Copy Markdown
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
jduoforce-pushed the modularize-remaining branch from c4c67b1 to ad83e89CompareJanuary 11, 2024 17:50
@jduo
jduoforce-pushed the modularize-remaining branch 3 times, most recently from 72747ae to b4d9662CompareJanuary 11, 2024 18:53
@jduojduo added the Breaking Change Includes a breaking change to the API label Jan 11, 2024
@jduojduo self-assigned this Jan 11, 2024
@jduo

jduo commented Jan 11, 2024

Copy link
Copy Markdown
MemberAuthor

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

jduo commented Jan 11, 2024

Copy link
Copy Markdown
MemberAuthor

@GitHub-Action crossbow submit java-jars

@jduo

jduo commented Jan 11, 2024

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit java-jars

@github-actions

Copy link
Copy Markdown

Revision: 35f7cbaf1f4efc4742dcc931acd125ad3ff0e8e4

Submitted crossbow builds: ursacomputing/crossbow @ actions-e879fe00cc

TaskStatus
java-jarsGitHub Actions

@jduo

jduo commented Jan 11, 2024

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit java-jars

@jduo
jduoforce-pushed the modularize-remaining branch from 02c0b82 to 3607ed8CompareJanuary 19, 2024 19:29
@github-actionsgithub-actionsBot 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

jduo commented Jan 19, 2024

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit java-jars

@github-actions

Copy link
Copy Markdown

Revision: c5723d1

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

TaskStatus
java-jarsGitHub Actions

@jduo

jduo commented Jan 19, 2024

Copy link
Copy Markdown
MemberAuthor

@github-actions crossbow submit java-jars

@github-actions

Copy link
Copy Markdown

Revision: 0ece855

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

TaskStatus
java-jarsGitHub Actions

@jduo

jduo commented Jan 19, 2024

Copy link
Copy Markdown
MemberAuthor

@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.

kou
kou approved these changes Jan 19, 2024

@koukou left a comment

Copy link
Copy Markdown
Member

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-actionsgithub-actionsBot added awaiting merge Awaiting merge and removed awaiting change review Awaiting change review labels Jan 19, 2024
@lidavidm
lidavidm merged commit 92682f0 into apache:mainJan 19, 2024
@lidavidmlidavidm removed the awaiting merge Awaiting merge label Jan 19, 2024
@github-actionsgithub-actionsBot added the awaiting merge Awaiting merge label Jan 19, 2024
@conbench-apache-arrow

Copy link
Copy Markdown

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>
@raulcd

Copy link
Copy Markdown
Member

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

@raulcd

Copy link
Copy Markdown
Member

I am verifying if this caused: #41201

@github-actions

Copy link
Copy Markdown

Revision: 0ece855

Submitted crossbow builds: ursacomputing/crossbow @ actions-c29cc1b749

TaskStatus
verify-rc-source-integration-linux-almalinux-8-amd64GitHub Actions
verify-rc-source-integration-linux-conda-latest-amd64GitHub Actions
verify-rc-source-integration-linux-ubuntu-20.04-amd64GitHub Actions
verify-rc-source-integration-linux-ubuntu-22.04-amd64GitHub Actions

@alinaliBQ
alinaliBQ deleted the modularize-remaining branch May 22, 2025 21:21
pribor pushed a commit to GlobalWebIndex/arrow that referenced this pull request Oct 24, 2025
### 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>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting mergeAwaiting mergeBreaking ChangeIncludes a breaking change to the APIComponent: DocumentationComponent: Java

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Java] Build remaining modules as JPMS modules

6 participants

@jduo@assignUser@raulcd@lidavidm@vibhatha@kou