You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Jeff Storck (JIRA)" <ji...@apache.org> on 2018/06/04 17:54:00 UTC

[jira] [Comment Edited] (NIFI-5175) NiFi built with Java 1.8 needs to run on Java 9

    [ https://issues.apache.org/jira/browse/NIFI-5175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16500582#comment-16500582 ] 

Jeff Storck edited comment on NIFI-5175 at 6/4/18 5:53 PM:
-----------------------------------------------------------

[~joewitt]

In attempting to test NiFi built on Java 1.8 running on Java 10, I was able to run a build from master on the docker openjdk:10 image:
{code:java}
docker run -it --rm -v ~/Development/git-repos/nifi/nifi-assembly/target/nifi-1.7.0-SNAPSHOT-bin/nifi-1.7.0-SNAPSHOT:/nifi -p 18080:8080 openjdk:10 /bin/bash
{code}
Once the container is up, uname reports:
{code:java}
# uname -a
Linux 0629848c2fc2 4.9.87-linuxkit-aufs #1 SMP Wed Mar 14 15:12:16 UTC 2018 x86_64 GNU/Linux{code}
The --add-modules=java.xml.bind arg is properly added to the command that starts NiFi:
{code:java}
2018-06-04 17:23:59,883 INFO [main] org.apache.nifi.bootstrap.Command Command: /docker-java-home/bin/java -classpath /nifi/./conf:/nifi/./lib/jetty-schemas-3.1.jar:/nifi/./lib/nifi-properties-1.7.0-SNAPSHOT.jar:/nifi/./lib/slf4j-api-1.7.25.jar:/nifi/./lib/javax.servlet-
api-3.1.0.jar:/nifi/./lib/nifi-api-1.7.0-SNAPSHOT.jar:/nifi/./lib/jcl-over-slf4j-1.7.25.jar:/nifi/./lib/logback-classic-1.2.3.jar:/nifi/./lib/jul-to-slf4j-1.7.25.jar:/nifi/./lib/log4j-over-slf4j-1.7.25.jar:/nifi/./lib/logback-core-1.2.3.jar:/nifi/./lib/nifi-runtime-1.7.
0-SNAPSHOT.jar:/nifi/./lib/nifi-nar-utils-1.7.0-SNAPSHOT.jar:/nifi/./lib/nifi-framework-api-1.7.0-SNAPSHOT.jar -Dorg.apache.jasper.compiler.disablejsr199=true -Xmx512m -Xms512m -Djavax.security.auth.useSubjectCredsOnly=true -Djava.security.egd=file:/dev/urandom -Dsun.ne
t.http.allowRestrictedHeaders=true -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Djava.protocol.handler.pkgs=sun.net.www.protocol -XX:+UseG1GC -Dnifi.properties.file.path=/nifi/./conf/nifi.properties -Dnifi.bootstrap.listen.port=33115 -Dapp=NiFi -Dorg.apache
.nifi.bootstrap.config.log.dir=/nifi/logs --add-modules=java.xml.bind org.apache.nifi.NiFi
{code}
I'm still doing some investigation...


was (Author: jtstorck):
[~joewitt]

In attempting to test NiFi built on Java 1.8 running on Java 10, I was able to run a build from master on the docker openjdk:10 image:
{code:java}
docker run -it --rm -v ~/Development/git-repos/nifi/nifi-assembly/target/nifi-1.7.0-SNAPSHOT-bin/nifi-1.7.0-SNAPSHOT:/nifi -p 18080:8080 openjdk:10 /bin/bash
{code}
The --add-modules=java.xml.bind arg is properly added to the command that starts NiFi:
{code:java}
2018-06-04 17:23:59,883 INFO [main] org.apache.nifi.bootstrap.Command Command: /docker-java-home/bin/java -classpath /nifi/./conf:/nifi/./lib/jetty-schemas-3.1.jar:/nifi/./lib/nifi-properties-1.7.0-SNAPSHOT.jar:/nifi/./lib/slf4j-api-1.7.25.jar:/nifi/./lib/javax.servlet-
api-3.1.0.jar:/nifi/./lib/nifi-api-1.7.0-SNAPSHOT.jar:/nifi/./lib/jcl-over-slf4j-1.7.25.jar:/nifi/./lib/logback-classic-1.2.3.jar:/nifi/./lib/jul-to-slf4j-1.7.25.jar:/nifi/./lib/log4j-over-slf4j-1.7.25.jar:/nifi/./lib/logback-core-1.2.3.jar:/nifi/./lib/nifi-runtime-1.7.
0-SNAPSHOT.jar:/nifi/./lib/nifi-nar-utils-1.7.0-SNAPSHOT.jar:/nifi/./lib/nifi-framework-api-1.7.0-SNAPSHOT.jar -Dorg.apache.jasper.compiler.disablejsr199=true -Xmx512m -Xms512m -Djavax.security.auth.useSubjectCredsOnly=true -Djava.security.egd=file:/dev/urandom -Dsun.ne
t.http.allowRestrictedHeaders=true -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Djava.protocol.handler.pkgs=sun.net.www.protocol -XX:+UseG1GC -Dnifi.properties.file.path=/nifi/./conf/nifi.properties -Dnifi.bootstrap.listen.port=33115 -Dapp=NiFi -Dorg.apache
.nifi.bootstrap.config.log.dir=/nifi/logs --add-modules=java.xml.bind org.apache.nifi.NiFi
{code}
I'm still doing some investigation...

> NiFi built with Java 1.8 needs to run on Java 9
> -----------------------------------------------
>
>                 Key: NIFI-5175
>                 URL: https://issues.apache.org/jira/browse/NIFI-5175
>             Project: Apache NiFi
>          Issue Type: Sub-task
>            Reporter: Jeff Storck
>            Assignee: Jeff Storck
>            Priority: Major
>             Fix For: 1.7.0
>
>
> The following issues have been encountered while attempting to run a Java 1.8-built NiFi on Java 9:
> ||Issue||Solution||Status||
> |JAXB classes cannot be found on the classpath|Add "--add-modules=java.xml.bind" to the commant that starts NiFi|Done|
> |NiFI boostrap not able to determine PID, restarts nifi after nifi.sh stop|Detect if NiFi is running on Java 9, and reflectively invoke Process.pid(), which was newly added to the Process API in Java 9|Done|
>  
> ----
>  
> ||Unaddressed issues/warnings with NiFi compiled on Java 1.8 running on Java 9+||Description||Solution||
> |WARNING: An illegal reflective access operation has occurred
>  ..._specific class usage snipped_...
>  WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
>  WARNING: All illegal access operations will be denied in a future release|Reflective invocations are common in the code used in NiFi and its dependencies in Java 1.8|Full compliant migration to Java 9 and use dependencies that are Java 9 compliant|



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)