Skip to content

Conversation

@raulcd
Copy link
Member

@raulcd raulcd commented Apr 28, 2022

This PR aims to add support for java 17 on CI as required on #12941
We probably should cherrypick the commit here on that PR.

@github-actions
Copy link

Thanks for opening a pull request!

If this is not a minor PR. Could you open an issue for this pull request on JIRA? https://issues.apache.org/jira/browse/ARROW

Opening JIRAs ahead of time contributes to the Openness of the Apache Arrow project.

Then could you also rename pull request title in the following format?

ARROW-${JIRA_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

See also:

@raulcd
Copy link
Member Author

raulcd commented Apr 28, 2022

@github-actions crossbow submit java

@github-actions
Copy link

Revision: fe4354fcff315f59ef52a07b5107d1adcdb59877

Submitted crossbow builds: ursacomputing/crossbow @ actions-1984

Task Status
java-jars Github Actions
verify-rc-source-java-linux-almalinux-8-amd64 Github Actions
verify-rc-source-java-linux-conda-latest-amd64 Github Actions
verify-rc-source-java-linux-ubuntu-18.04-amd64 Github Actions
verify-rc-source-java-linux-ubuntu-20.04-amd64 Github Actions
verify-rc-source-java-linux-ubuntu-22.04-amd64 Github Actions
verify-rc-source-java-macos-amd64 Github Actions

@raulcd raulcd marked this pull request as draft April 28, 2022 07:17
@raulcd raulcd changed the title [WIP] ARROW-16327: [Java][CI] Add Java 17 to CI matrix for java workflows ARROW-16327: [Java][CI] Add Java 17 to CI matrix for java workflows Apr 28, 2022
@github-actions
Copy link

@raulcd raulcd force-pushed the ARROW-16327 branch 4 times, most recently from 36cac69 to 128f18f Compare April 28, 2022 09:16
@raulcd raulcd marked this pull request as ready for review April 28, 2022 09:28
Copy link
Member

@lidavidm lidavidm left a comment

Choose a reason for hiding this comment

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

Thanks for setting this up!

@kou
Copy link
Member

kou commented Apr 28, 2022

It seems that maven:3.8.5-openjdk-17 is based on Oracle Linux 8 not Debian:

$ docker run --rm maven:3.8.5-openjdk-17 cat /etc/system-release
Oracle Linux Server release 8.5

So existing ci/docker/debian-9-java.dockerfile filename isn't suitable for OpenJDK 17.

How about adding ci/docker/oracle-8-java.dockerfile, adding oracle-java to docker-compose.yml and removing jdk_name from .env?

BTW, it seems that nobody uses ARROW_JAVA_SHADE_FLATBUFS defined in ci/docker/debian-9-java.dockerfile. See also: 7bc2b0f

We may be able to use maven:* images directly instead of defining our (thin) wrapper image. For example, we use existing images directly for python-wheel-manylinux-test-imports.

@kou
Copy link
Member

kou commented Apr 28, 2022

Could you also confirm CI failure? https://github.com/apache/arrow/runs/6218109762?check_suite_focus=true

Error:  Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.2:compile (default-compile) on project arrow-format: Compilation failure -> [Help 1]
Error:  Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.2:compile (default-compile) on project arrow-plasma: Compilation failure -> [Help 1]
Error:  Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.2:compile (default-compile) on project arrow-memory-core: Compilation failure -> [Help 1]

The following log may be related:

[INFO] -----------------< org.apache.arrow:arrow-memory-core >-----------------
[INFO] Building Arrow Memory - Core 8.0.0-SNAPSHOT                       [6/19]
[INFO] --------------------------------[ jar ]---------------------------------
Warning:  *****************************************************************
Warning:  * Your build is requesting parallel execution, but project      *
Warning:  * contains the following plugin(s) that have goals not marked   *
Warning:  * as @threadSafe to support parallel building.                  *
Warning:  * While this /may/ work fine, please look for plugin updates    *
Warning:  * and/or request plugins be made thread-safe.                   *
Warning:  * If reporting an issue, report it against the plugin in        *
Warning:  * question, not against maven-core                              *
Warning:  *****************************************************************
Warning:  The following plugins are not marked @threadSafe in Arrow Memory - Core:
Warning:  org.apache.rat:apache-rat-plugin:0.13
Warning:  Enable debug to see more precisely which goals are not marked @threadSafe.
Warning:  *****************************************************************

@raulcd
Copy link
Member Author

raulcd commented May 2, 2022

Thanks for the review @kou ! I have added a new oracle-java entry on the docker-compose.yml and I have updated the debian-java to use the maven:* images directly removing the wrapper image ci/docker/debian-9-java.dockerfile, as you said I can't find anywhere where the ARROW_JAVA_SHADE_FLATBUFS were being used. I have also removed the JDK_NAME and have added a JDK 8 CI test (as it seems to be the default defined on our .env).

As per the failure on JDK 17 it is expected until we merge #12941, the idea is to rebase once that PR is merged and validate the JDK 17 image is passing at that point!

Update: The PR to add support has been merged and I have rebased master. All the Java jobs are passing now.

/arrow/ci/scripts/java_build.sh /arrow /build &&
/arrow/ci/scripts/java_test.sh /arrow /build"

oracle-java:
Copy link
Member

Choose a reason for hiding this comment

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

How is this different from debian-java? It seems to be based on the same base image.

Copy link
Member Author

Choose a reason for hiding this comment

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

the maven image for openjdk 17 is based on Oracle Linux instead of debian maven:3.8.5-openjdk-17:

$ docker run --rm maven:3.8.5-openjdk-17 cat /etc/system-release
Oracle Linux Server release 8.5

@kou
Copy link
Member

kou commented May 3, 2022

@github-actions crossbow submit java-jars

@github-actions
Copy link

github-actions bot commented May 3, 2022

Revision: c2238ba

Submitted crossbow builds: ursacomputing/crossbow @ actions-2006

Task Status
java-jars Github Actions

@raulcd
Copy link
Member Author

raulcd commented May 5, 2022

@kou @pitrou is there anything else you think we should do on this PR in order to get it merged?
About the oracle-java vs debian-java I am not sure how we could manage the inconsistency from the maven images repository better on our side.I did add the params to the usage on the docker-compose and the openjdk vs jdk naming convention for the image:

    # Usage:
    #   docker-compose build oracle-java
    #   docker-compose run oracle-java
    # Parameters:
    #   MAVEN: 3.8.5
    #   JDK: 17
    image: ${ARCH}/maven:${MAVEN}-openjdk-${JDK}

vs

    # Usage:
    #   docker-compose build debian-java
    #   docker-compose run debian-java
    # Parameters:
    #   MAVEN: 3.5.4, 3.6.2
    #   JDK: 8, 11
    image: ${ARCH}/maven:${MAVEN}-jdk-${JDK}

let me know if you have a better idea.

@pitrou
Copy link
Member

pitrou commented May 5, 2022

@raulcd I think this is good to go, I'll let @kou comment if he wants to.

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

Thanks!

@kou kou closed this in 1fc251f May 5, 2022
@ursabot
Copy link

ursabot commented May 9, 2022

Benchmark runs are scheduled for baseline = 4ea776a and contender = 1fc251f. 1fc251f is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Finished ⬇️0.47% ⬆️0.12%] test-mac-arm
[Finished ⬇️0.0% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.63% ⬆️0.0%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 1fc251f1 ec2-t3-xlarge-us-east-2
[Finished] 1fc251f1 test-mac-arm
[Finished] 1fc251f1 ursa-i9-9960x
[Finished] 1fc251f1 ursa-thinkcentre-m75q
[Finished] 4ea776a0 ec2-t3-xlarge-us-east-2
[Finished] 4ea776a0 test-mac-arm
[Finished] 4ea776a0 ursa-i9-9960x
[Finished] 4ea776a0 ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

dongjoon-hyun pushed a commit to apache/spark that referenced this pull request Aug 4, 2022
### What changes were proposed in this pull request?
This PR aims to upgrade Apache Arrow to 9.0.0

### Why are the changes needed?
This version bring some bug fix and start to [validating Java 17](apache/arrow#13021) through CI.

(The release notes have not been released yet, will update later https://arrow.apache.org/release/)

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

### How was this patch tested?
Pass GitHub Actions

Closes #37331 from LuciferYang/SPARK-39913.

Authored-by: yangjie01 <yangjie01@baidu.com>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants