You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fury.apache.org by ch...@apache.org on 2024/03/31 05:13:36 UTC
(incubator-fury) branch main updated: feat(java): add openj9 ci (#1437)
This is an automated email from the ASF dual-hosted git repository.
chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-fury.git
The following commit(s) were added to refs/heads/main by this push:
new 59da6e90 feat(java): add openj9 ci (#1437)
59da6e90 is described below
commit 59da6e90f3914a0724a5ce088ec672bb72f14699
Author: Shawn Yang <sh...@gmail.com>
AuthorDate: Sun Mar 31 13:13:32 2024 +0800
feat(java): add openj9 ci (#1437)
This PR add openj9 ci, since we have openj9 users, see #1433 . Class GC
in linux distribution are not supported in this PR.
---------
Co-authored-by: chaokunyang <Woaini98>
---
.github/workflows/ci.yml | 25 +++++++++++++++++++++-
.../org/apache/fury/util/unsafe/_JDKAccess.java | 4 ++--
.../java/org/apache/fury/util/unsafe/_Lookup.java | 2 +-
.../src/test/java/org/apache/fury/TestUtils.java | 5 +++++
4 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a200dc4f..bff362f2 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -62,7 +62,30 @@ jobs:
run: ./ci/run_ci.sh install_pyfury
- name: Run CI with Maven
run: ./ci/run_ci.sh java${{ matrix.java-version }}
-
+ openj9:
+ name: Openj9 Java CI
+ runs-on: ubuntu-latest
+ env:
+ MY_VAR: "PATH"
+ strategy:
+ matrix:
+ # String in openj9 1.8 share byte array by offset, fury doesn't allow it.
+ java-version: ["21"]
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up JDK ${{ matrix.java-version }}
+ uses: actions/setup-java@v4
+ with:
+ java-version: ${{ matrix.java-version }}
+ distribution: 'adopt-openj9'
+ - name: Install bazel
+ run: ./ci/run_ci.sh install_bazel
+ - name: Install python
+ run: ./ci/run_ci.sh install_python
+ - name: Install pyfury
+ run: ./ci/run_ci.sh install_pyfury
+ - name: Run CI with Maven
+ run: ./ci/run_ci.sh java${{ matrix.java-version }}
graalvm:
name: GraalVM CI
runs-on: ubuntu-latest
diff --git a/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_JDKAccess.java b/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_JDKAccess.java
index e7d3b0de..dd429197 100644
--- a/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_JDKAccess.java
+++ b/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_JDKAccess.java
@@ -54,7 +54,7 @@ import sun.misc.Unsafe;
public class _JDKAccess {
// CHECKSTYLE.ON:TypeName
public static final int JAVA_VERSION;
- public static final boolean OPEN_J9;
+ public static final boolean IS_OPEN_J9;
public static final Unsafe UNSAFE;
public static final Class<?> _INNER_UNSAFE_CLASS;
public static final Object _INNER_UNSAFE;
@@ -65,7 +65,7 @@ public class _JDKAccess {
property = property.substring(2);
}
String jmvName = System.getProperty("java.vm.name", "");
- OPEN_J9 = jmvName.contains("OpenJ9");
+ IS_OPEN_J9 = jmvName.contains("OpenJ9");
JAVA_VERSION = Integer.parseInt(property);
Unsafe unsafe;
try {
diff --git a/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_Lookup.java b/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_Lookup.java
index 16ddedb1..7ade95e0 100644
--- a/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_Lookup.java
+++ b/java/fury-core/src/main/java/org/apache/fury/util/unsafe/_Lookup.java
@@ -72,7 +72,7 @@ class _Lookup {
}
int fullAccessMask = 31; // for IBM Open J9 JDK
return (Lookup)
- constructor.invoke(objectClass, _JDKAccess.OPEN_J9 ? fullAccessMask : trusted);
+ constructor.invoke(objectClass, _JDKAccess.IS_OPEN_J9 ? fullAccessMask : trusted);
} else {
if (constructor == null) {
constructor =
diff --git a/java/fury-core/src/test/java/org/apache/fury/TestUtils.java b/java/fury-core/src/test/java/org/apache/fury/TestUtils.java
index b45d3707..97050684 100644
--- a/java/fury-core/src/test/java/org/apache/fury/TestUtils.java
+++ b/java/fury-core/src/test/java/org/apache/fury/TestUtils.java
@@ -28,6 +28,8 @@ import java.util.ArrayList;
import java.util.function.Supplier;
import org.apache.fury.util.FieldAccessor;
import org.apache.fury.util.ReflectionUtils;
+import org.apache.fury.util.unsafe._JDKAccess;
+import org.testng.SkipException;
/** Test utils. */
public class TestUtils {
@@ -47,6 +49,9 @@ public class TestUtils {
* @param predicate whether stop Trigger OOM.
*/
public static void triggerOOMForSoftGC(Supplier<Boolean> predicate) {
+ if (_JDKAccess.IS_OPEN_J9) {
+ throw new SkipException("OpenJ9 unsupported");
+ }
System.gc();
while (predicate.get()) {
triggerOOM();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@fury.apache.org
For additional commands, e-mail: commits-help@fury.apache.org