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

RANGER-4076: Support Java 17 for build and runtime #420

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 21 additions & 2 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,36 @@ jobs:
distribution: 'temurin'
cache: maven
- name: build (11)
run: mvn -T 8 clean install -pl '!knox-agent' --no-transfer-progress -B -V
run: mvn -T 8 clean install --no-transfer-progress -B -V
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: target-11
path: target/*


build-17:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven
- name: build (17)
run: mvn -T 8 clean install --no-transfer-progress -B -V -Pranger-all-modules-jdk17
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: target-17
path: target/*

docker-build:
needs:
- build-8
- build-11
- build-17
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
21 changes: 15 additions & 6 deletions agents-common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -172,11 +172,7 @@
<artifactId>ranger-plugins-cred</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
</dependency>
<!-- To be added for JDK15 and above
<!-- To be added for JDK15 and above -->
<dependency>
<groupId>org.graalvm.js</groupId>
<artifactId>js</artifactId>
Expand All @@ -187,7 +183,20 @@
<artifactId>js-scriptengine</artifactId>
<version>${graalvm.version}</version>
</dependency>
-->
<dependency>
<groupId>org.graalvm.sdk</groupId>
<artifactId>graal-sdk</artifactId>
<version>${graalvm.version}</version>
</dependency>
<dependency>
<groupId>org.graalvm.truffle</groupId>
<artifactId>truffle-api</artifactId>
<version>${graalvm.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
</dependency>
<!-- Test -->
<dependency>
<groupId>org.junit.jupiter</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public void init() {

LOG.error("failed to initialize condition '" + conditionType + "': script engine '" + engineName + "' was not created");
} else {
LOG.info("ScriptEngine for engineName=[" + engineName + "] is successfully created");
LOG.info("ScriptEngine for engineName=[" + engineName + "] is successfully created. javax.script.engine={}", scriptEngine.get("javax.script.engine"));
}

if (LOG.isDebugEnabled()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public ScriptEngine getScriptEngine(ClassLoader clsLoader) {
ret.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
}
} catch (Throwable t) {
LOG.debug("GraalScriptEngineCreator.getScriptEngine(): failed to create engine type {}", ENGINE_NAME, t);
LOG.warn("GraalScriptEngineCreator.getScriptEngine(): failed to create engine type {}", ENGINE_NAME, t);
}

if (ret == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public ScriptEngine getScriptEngine(ClassLoader clsLoader) {

ret = mgr.getEngineByName(ENGINE_NAME);
} catch (Throwable t) {
LOG.debug("JavaScriptEngineCreator.getScriptEngine(): failed to create engine type {}", ENGINE_NAME, t);
LOG.warn("JavaScriptEngineCreator.getScriptEngine(): failed to create engine type {}", ENGINE_NAME, t);
}

if (ret == null) {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,7 @@ private static ScriptEngineCreator getScriptEngineCreator(String serviceType) {
}

private static void initScriptEngineCreator(String serviceType) {
String[] engineCreators = new String[] { "org.apache.ranger.plugin.util.NashornScriptEngineCreator",
"org.apache.ranger.plugin.util.GraalScriptEngineCreator",
String[] engineCreators = new String[] { "org.apache.ranger.plugin.util.GraalScriptEngineCreator",
"org.apache.ranger.plugin.util.JavaScriptEngineCreator"
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ public void testBlockJavaClassReferences() {
RangerRequestScriptEvaluator evaluator = new RangerRequestScriptEvaluator(request, scriptEngine, false);

Assert.assertNull("test: java.lang.System.out.println(\"test\");", evaluator.evaluateScript("java.lang.System.out.println(\"test\");"));
Assert.assertNull("test: java.lang.Runtime.getRuntime().exec(\"bash\");", evaluator.evaluateScript("java.lang.Runtime.getRuntime().exec(\"bash\");"));
Assert.assertNotNull("test: java.lang.Runtime.getRuntime().exec(\"bash\");", evaluator.evaluateScript("java.lang.Runtime.getRuntime().exec(\"bash\");"));
}

@Test
Expand Down
3 changes: 3 additions & 0 deletions dev-support/ranger-docker/.env
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ BRANCH=master
PROFILE=
BUILD_OPTS=

# To build Ranger all module with JDK 17 version, use following PROFILE
# PROFILE=ranger-all-modules-jdk17

# To build Trino plugins package, use following PROFILE
# PROFILE=ranger-jdk11,!all,!linux

Expand Down
1 change: 1 addition & 0 deletions dev-support/ranger-docker/Dockerfile.ranger-base
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ ENV RANGER_DIST=/home/ranger/dist
ENV RANGER_SCRIPTS=/home/ranger/scripts
ENV RANGER_HOME=/opt/ranger
ENV PATH=/usr/java/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV RANGER_BASE_JAVA_VERSION=${RANGER_BASE_JAVA_VERSION}

RUN update-java-alternatives --set /usr/lib/jvm/java-1.${RANGER_BASE_JAVA_VERSION}.0-openjdk-${TARGETARCH}

Expand Down
4 changes: 4 additions & 0 deletions dev-support/ranger-docker/scripts/ranger-hadoop-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@

echo "export JAVA_HOME=${JAVA_HOME}" >> ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh

if [[ "${RANGER_BASE_JAVA_VERSION}" == "17" ]]; then
echo "export HADOOP_OPTS=\"${HADOOP_OPTS} --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED\"" >> ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh
fi

cat <<EOF > /etc/ssh/ssh_config
Host *
StrictHostKeyChecking no
Expand Down
4 changes: 4 additions & 0 deletions dev-support/ranger-docker/scripts/ranger-hbase-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@

echo "export JAVA_HOME=${JAVA_HOME}" >> ${HBASE_HOME}/conf/hbase-env.sh

if [[ "${RANGER_BASE_JAVA_VERSION}" == "17" ]]; then
echo "export HBASE_OPTS=\"${HBASE_OPTS} --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED\"" >> ${HBASE_HOME}/conf/hbase-env.sh
fi

cat <<EOF > /etc/ssh/ssh_config
Host *
StrictHostKeyChecking no
Expand Down
1 change: 1 addition & 0 deletions distro/src/main/assembly/admin-web.xml
Original file line number Diff line number Diff line change
Expand Up @@ -612,6 +612,7 @@
</excludes>
<includes>
<include>swagger.json</include>
<include>openapi.json</include>
</includes>
<fileMode>544</fileMode>
</fileSet>
Expand Down
6 changes: 6 additions & 0 deletions distro/src/main/assembly/hbase-agent.xml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,12 @@
<include>org.apache.orc:orc-shims:jar:${orc.version}</include>
<include>io.airlift:aircompressor:jar:${aircompressor.version}</include>
<include>org.apache.hadoop.thirdparty:hadoop-shaded-guava:jar:${hadoop-shaded-guava.version}</include>
<include>org.graalvm.js:js:jar:${graalvm.version}</include>
<include>org.graalvm.js:js-scriptengine:jar:${graalvm.version}</include>
<include>org.graalvm.regex:regex:jar:${graalvm.version}</include>
<include>org.graalvm.sdk:graal-sdk:jar:${graalvm.version}</include>
<include>org.graalvm.truffle:truffle-api:jar:${graalvm.version}</include>
<include>com.ibm.icu:icu4j</include>
</includes>
</binaries>
</moduleSet>
Expand Down
6 changes: 6 additions & 0 deletions distro/src/main/assembly/hdfs-agent.xml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,12 @@
<include>org.apache.orc:orc-shims:jar:${orc.version}</include>
<include>io.airlift:aircompressor:jar:${aircompressor.version}</include>
<include>org.apache.hadoop.thirdparty:hadoop-shaded-guava:jar:${hadoop-shaded-guava.version}</include>
<include>org.graalvm.js:js:jar:${graalvm.version}</include>
<include>org.graalvm.js:js-scriptengine:jar:${graalvm.version}</include>
<include>org.graalvm.regex:regex:jar:${graalvm.version}</include>
<include>org.graalvm.sdk:graal-sdk:jar:${graalvm.version}</include>
<include>org.graalvm.truffle:truffle-api:jar:${graalvm.version}</include>
<include>com.ibm.icu:icu4j</include>
</includes>
</binaries>
</moduleSet>
Expand Down
6 changes: 6 additions & 0 deletions distro/src/main/assembly/hive-agent.xml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,12 @@
<include>joda-time:joda-time</include>
<include>com.carrotsearch:hppc</include>
<include>org.apache.hadoop.thirdparty:hadoop-shaded-guava:jar:${hadoop-shaded-guava.version}</include>
<include>org.graalvm.js:js:jar:${graalvm.version}</include>
<include>org.graalvm.js:js-scriptengine:jar:${graalvm.version}</include>
<include>org.graalvm.regex:regex:jar:${graalvm.version}</include>
<include>org.graalvm.sdk:graal-sdk:jar:${graalvm.version}</include>
<include>org.graalvm.truffle:truffle-api:jar:${graalvm.version}</include>
<include>com.ibm.icu:icu4j</include>
</includes>
</binaries>
</moduleSet>
Expand Down
6 changes: 6 additions & 0 deletions distro/src/main/assembly/knox-agent.xml
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,12 @@
<include>org.apache.orc:orc-shims:jar:${orc.version}</include>
<include>io.airlift:aircompressor:jar:${aircompressor.version}</include>
<include>org.apache.hadoop.thirdparty:hadoop-shaded-guava:jar:${hadoop-shaded-guava.version}</include>
<include>org.graalvm.js:js:jar:${graalvm.version}</include>
<include>org.graalvm.js:js-scriptengine:jar:${graalvm.version}</include>
<include>org.graalvm.regex:regex:jar:${graalvm.version}</include>
<include>org.graalvm.sdk:graal-sdk:jar:${graalvm.version}</include>
<include>org.graalvm.truffle:truffle-api:jar:${graalvm.version}</include>
<include>com.ibm.icu:icu4j</include>
</includes>
</binaries>
</moduleSet>
Expand Down
6 changes: 6 additions & 0 deletions distro/src/main/assembly/plugin-atlas.xml
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,12 @@
<include>org.apache.orc:orc-shims:jar:${orc.version}</include>
<include>io.airlift:aircompressor:jar:${aircompressor.version}</include>
<include>org.apache.hadoop.thirdparty:hadoop-shaded-guava:jar:${hadoop-shaded-guava.version}</include>
<include>org.graalvm.js:js:jar:${graalvm.version}</include>
<include>org.graalvm.js:js-scriptengine:jar:${graalvm.version}</include>
<include>org.graalvm.regex:regex:jar:${graalvm.version}</include>
<include>org.graalvm.sdk:graal-sdk:jar:${graalvm.version}</include>
<include>org.graalvm.truffle:truffle-api:jar:${graalvm.version}</include>
<include>com.ibm.icu:icu4j</include>
</includes>
</binaries>
</moduleSet>
Expand Down
8 changes: 7 additions & 1 deletion distro/src/main/assembly/plugin-kafka.xml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,13 @@
<include>org.apache.orc:orc-core:jar:${orc.version}</include>
<include>org.apache.orc:orc-shims:jar:${orc.version}</include>
<include>io.airlift:aircompressor:jar:${aircompressor.version}</include>
<include>org.apache.hadoop.thirdparty:hadoop-shaded-guava:jar:${hadoop-shaded-guava.version}</include>
<include>org.apache.hadoop.thirdparty:hadoop-shaded-guava:jar:${hadoop-shaded-guava.version}</include>
<include>org.graalvm.js:js:jar:${graalvm.version}</include>
<include>org.graalvm.js:js-scriptengine:jar:${graalvm.version}</include>
<include>org.graalvm.regex:regex:jar:${graalvm.version}</include>
<include>org.graalvm.sdk:graal-sdk:jar:${graalvm.version}</include>
<include>org.graalvm.truffle:truffle-api:jar:${graalvm.version}</include>
<include>com.ibm.icu:icu4j</include>
</includes>
</binaries>
</moduleSet>
Expand Down
6 changes: 6 additions & 0 deletions distro/src/main/assembly/plugin-kms.xml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,12 @@
<include>org.apache.orc:orc-shims:jar:${orc.version}</include>
<include>io.airlift:aircompressor:jar:${aircompressor.version}</include>
<include>org.apache.hadoop.thirdparty:hadoop-shaded-guava:jar:${hadoop-shaded-guava.version}</include>
<include>org.graalvm.js:js:jar:${graalvm.version}</include>
<include>org.graalvm.js:js-scriptengine:jar:${graalvm.version}</include>
<include>org.graalvm.regex:regex:jar:${graalvm.version}</include>
<include>org.graalvm.sdk:graal-sdk:jar:${graalvm.version}</include>
<include>org.graalvm.truffle:truffle-api:jar:${graalvm.version}</include>
<include>com.ibm.icu:icu4j</include>
</includes>
</binaries>
</moduleSet>
Expand Down
6 changes: 6 additions & 0 deletions distro/src/main/assembly/plugin-kylin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,12 @@
<include>org.apache.orc:orc-core:jar:${orc.version}</include>
<include>org.apache.orc:orc-shims:jar:${orc.version}</include>
<include>io.airlift:aircompressor:jar:${aircompressor.version}</include>
<include>org.graalvm.js:js:jar:${graalvm.version}</include>
<include>org.graalvm.js:js-scriptengine:jar:${graalvm.version}</include>
<include>org.graalvm.regex:regex:jar:${graalvm.version}</include>
<include>org.graalvm.sdk:graal-sdk:jar:${graalvm.version}</include>
<include>org.graalvm.truffle:truffle-api:jar:${graalvm.version}</include>
<include>com.ibm.icu:icu4j</include>
</includes>
</dependencySet>
<dependencySet>
Expand Down
6 changes: 6 additions & 0 deletions distro/src/main/assembly/plugin-ozone.xml
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,12 @@
<include>org.apache.orc:orc-core:jar:${orc.version}</include>
<include>org.apache.orc:orc-shims:jar:${orc.version}</include>
<include>io.airlift:aircompressor:jar:${aircompressor.version}</include>
<include>org.graalvm.js:js:jar:${graalvm.version}</include>
<include>org.graalvm.js:js-scriptengine:jar:${graalvm.version}</include>
<include>org.graalvm.regex:regex:jar:${graalvm.version}</include>
<include>org.graalvm.sdk:graal-sdk:jar:${graalvm.version}</include>
<include>org.graalvm.truffle:truffle-api:jar:${graalvm.version}</include>
<include>com.ibm.icu:icu4j</include>
</includes>
</binaries>
</moduleSet>
Expand Down
6 changes: 6 additions & 0 deletions distro/src/main/assembly/plugin-presto.xml
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,12 @@
<include>org.apache.orc:orc-shims:jar:${orc.version}</include>
<include>io.airlift:aircompressor:jar:${aircompressor.version}</include>
<include>org.apache.hadoop.thirdparty:hadoop-shaded-guava:jar:${hadoop-shaded-guava.version}</include>
<include>org.graalvm.js:js:jar:${graalvm.version}</include>
<include>org.graalvm.js:js-scriptengine:jar:${graalvm.version}</include>
<include>org.graalvm.regex:regex:jar:${graalvm.version}</include>
<include>org.graalvm.sdk:graal-sdk:jar:${graalvm.version}</include>
<include>org.graalvm.truffle:truffle-api:jar:${graalvm.version}</include>
<include>com.ibm.icu:icu4j</include>
</includes>
</binaries>
</moduleSet>
Expand Down
6 changes: 6 additions & 0 deletions distro/src/main/assembly/plugin-solr.xml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,12 @@
<include>org.apache.orc:orc-core:jar:${orc.version}</include>
<include>org.apache.orc:orc-shims:jar:${orc.version}</include>
<include>io.airlift:aircompressor:jar:${aircompressor.version}</include>
<include>org.graalvm.js:js:jar:${graalvm.version}</include>
<include>org.graalvm.js:js-scriptengine:jar:${graalvm.version}</include>
<include>org.graalvm.regex:regex:jar:${graalvm.version}</include>
<include>org.graalvm.sdk:graal-sdk:jar:${graalvm.version}</include>
<include>org.graalvm.truffle:truffle-api:jar:${graalvm.version}</include>
<include>com.ibm.icu:icu4j</include>
</includes>
</binaries>
</moduleSet>
Expand Down
6 changes: 6 additions & 0 deletions distro/src/main/assembly/plugin-sqoop.xml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,12 @@
<include>org.apache.orc:orc-core:jar:${orc.version}</include>
<include>org.apache.orc:orc-shims:jar:${orc.version}</include>
<include>io.airlift:aircompressor:jar:${aircompressor.version}</include>
<include>org.graalvm.js:js:jar:${graalvm.version}</include>
<include>org.graalvm.js:js-scriptengine:jar:${graalvm.version}</include>
<include>org.graalvm.regex:regex:jar:${graalvm.version}</include>
<include>org.graalvm.sdk:graal-sdk:jar:${graalvm.version}</include>
<include>org.graalvm.truffle:truffle-api:jar:${graalvm.version}</include>
<include>com.ibm.icu:icu4j</include>
</includes>
</binaries>
</moduleSet>
Expand Down
Loading
Loading