I decided to do a quick test by taking Tomcat out of the equation and just launching Ignite from my home directory and got:
WARNING: Illegal reflective access by org.apache.ignite.internal.util.GridUnsafe$2 (file:/home/eham/apache-ignite-fabric-2.4.0-bin/libs/ignite-core-2.4.0.jar) to field java.nio.Buffer.address Ignite started, but I'm curious if the GridUnsafe message is related to what is being thrown in my Tomcat log? Full output of the ignite startup below... [eham apache-ignite-fabric-2.4.0-bin]$ bin/ignite.sh WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.apache.ignite.internal.util.GridUnsafe$2 (file:/home/eham/apache-ignite-fabric-2.4.0-bin/libs/ignite-core-2.4.0.jar) to field java.nio.Buffer.address WARNING: Please consider reporting this to the maintainers of org.apache.ignite.internal.util.GridUnsafe$2 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 [20:48:44] __________ ________________ [20:48:44] / _/ ___/ |/ / _/_ __/ __/ [20:48:44] _/ // (7 7 // / / / / _/ [20:48:44] /___/\___/_/|_/___/ /_/ /___/ [20:48:44] [20:48:44] ver. 2.4.0#20180305-sha1:aa342270 [20:48:44] 2018 Copyright(C) Apache Software Foundation [20:48:44] [20:48:44] Ignite documentation: http://ignite.apache.org [20:48:44] [20:48:44] Quiet mode. [20:48:44] ^-- Logging to file '/home/eham/apache-ignite-fabric-2.4.0-bin/work/log/ignite-ddb471ba.0.log' [20:48:44] ^-- Logging by 'JavaLogger [quiet=true, config=null]' [20:48:44] ^-- To see **FULL** console log here add -DIGNITE_QUIET=false or "-v" to ignite.{sh|bat} [20:48:44] [20:48:44] OS: Linux 3.10.0-693.5.2.el7.x86_64 amd64 [20:48:44] VM information: Java(TM) SE Runtime Environment 9.0.4+11 Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 9.0.4+11 [20:48:44] Configured plugins: [20:48:44] ^-- None [20:48:44] [20:48:44] Message queue limit is set to 0 which may lead to potential OOMEs when running cache operations in FULL_ASYNC or PRIMARY_SYNC modes due to message queues growth on sender and receiver sides. [20:48:44] Security status [authentication=off, tls/ssl=off] [20:48:46] Performance suggestions for grid (fix if possible) [20:48:46] To disable, set -DIGNITE_PERFORMANCE_SUGGESTIONS_DISABLED=true [20:48:46] ^-- Switch to the most recent 1.8 JVM version [20:48:46] ^-- Set max direct memory size if getting 'OOME: Direct buffer memory' (add '-XX:MaxDirectMemorySize=<size>[g|G|m|M|k|K]' to JVM options) [20:48:46] ^-- Disable processing of calls to System.gc() (add '-XX:+DisableExplicitGC' to JVM options) [20:48:46] ^-- Speed up flushing of dirty pages by OS (alter vm.dirty_expire_centisecs parameter by setting to 500) [20:48:46] ^-- Reduce pages swapping ratio (set vm.swappiness=10) [20:48:46] Refer to this page for more performance suggestions: https://apacheignite.readme.io/docs/jvm-and-system-tuning [20:48:46] [20:48:46] To start Console Management & Monitoring run ignitevisorcmd.{sh|bat} [20:48:46] [20:48:46] Ignite node started OK (id=ddb471ba) [20:48:46] Topology snapshot [ver=1, servers=1, clients=0, CPUs=16, offheap=9.4GB, heap=1.0GB] [20:48:46] Data Regions Configured: [20:48:46] ^-- default [initSize=256.0 MiB, maxSize=9.4 GiB, persistenceEnabled=false] On Fri, Mar 30, 2018 at 4:08 PM, Eric Ham <[email protected]> wrote: > Yes, thank you for the suggestion. We originally tried Tomcat 8.5 as our > dev group was wanting JDK 9. However, the dev group ran into class loader > issues with their app that they could not resolve by our product's release > timeline, so we fell back to Tomcat 7 as JDK 9 looked supported and has > worked for us so far. > > On Fri, Mar 30, 2018 at 3:46 PM, Jörn Franke <[email protected]> wrote: > >> I would still go for a higher tomcat version. >> >> On 31. Mar 2018, at 00:26, Eric Ham <[email protected]> wrote: >> >> From what I read on the changelog [1] they've been doing updates for Java >> 9 since at least 7.0.70, with a lot of changes in 7.0.83 and they're now up >> to 7.0.85. >> >> We've been running Tomcat 7 on JDK9 for over 3 months now with no other >> issues. >> >> [1] http://tomcat.apache.org/tomcat-7.0-doc/changelog.html >> >> On Fri, Mar 30, 2018 at 11:52 AM, Jörn Franke <[email protected]> >> wrote: >> >>> Tomcat 7 does not support JDK 9 >>> >>> On 30. Mar 2018, at 18:30, Eric Ham <[email protected]> wrote: >>> >>> I'm running Tomcat 7 with Oracle JDK 9.0.4 and am attempting to use web >>> session clustering based on the following pages [1] and [2] as I saw the >>> 2.4.0 release notes say Java 9 is now supported. I copied the following >>> jars over for Tomcat to load: >>> >>> ignite-core-2.4.0.jar >>> ignite-log4j-2.4.0.jar >>> ignite-spring-2.4.0.jar >>> ignite-web-2.4.0.jar >>> >>> However, when I startup Tomcat I get the following error messages >>> (listed below) in the localhost.2018-03-29.log file. The line with >>> jdk.internal.misc.SharedSecrets seems related to [3] IGNITE-7352, which >>> says that it should be fixed in 2.4.0 to support Java 9. >>> >>> I'm curious if I missed a step for Java 9 support or if something else >>> is wrong? >>> >>> [1] https://ignite.apache.org/releases/latest/javadoc/org/apache >>> /ignite/startup/servlet/ServletStartup.html >>> <https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/startup/servlet/ServletStartup.html> >>> >>> [2] https://apacheignite-mix.readme.io/docs/web-session-clustering >>> >>> [3] https://issues.apache.org/jira/browse/IGNITE-7352 >>> >>> Mar 29, 2018 3:23:55 PM org.apache.catalina.core.ApplicationContext log >>> INFO: No Spring WebApplicationInitializer types detected on classpath >>> Mar 29, 2018 3:23:56 PM org.apache.catalina.core.ApplicationContext log >>> SEVERE: StandardWrapper.Throwable >>> java.lang.ExceptionInInitializerError >>> at org.apache.ignite.internal.util.IgniteUtils.<clinit>(IgniteU >>> tils.java:759) >>> at org.apache.ignite.startup.servlet.ServletStartup.init(Servle >>> tStartup.java:138) >>> at javax.servlet.GenericServlet.init(GenericServlet.java:158) >>> at org.apache.catalina.core.StandardWrapper.initServlet(Standar >>> dWrapper.java:1269) >>> at org.apache.catalina.core.StandardWrapper.loadServlet(Standar >>> dWrapper.java:1182) >>> at org.apache.catalina.core.StandardWrapper.load(StandardWrappe >>> r.java:1072) >>> at org.apache.catalina.core.StandardContext.loadOnStartup(Stand >>> ardContext.java:5362) >>> at org.apache.catalina.core.StandardContext.startInternal(Stand >>> ardContext.java:5660) >>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.j >>> ava:145) >>> at org.apache.catalina.core.ContainerBase.addChildInternal(Cont >>> ainerBase.java:1015) >>> at org.apache.catalina.core.ContainerBase.addChild(ContainerBas >>> e.java:991) >>> at org.apache.catalina.core.StandardHost.addChild(StandardHost. >>> java:652) >>> at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig. >>> java:1127) >>> at org.apache.catalina.startup.HostConfig$DeployWar.run(HostCon >>> fig.java:2020) >>> at java.base/java.util.concurrent.Executors$RunnableAdapter.cal >>> l(Executors.java:514) >>> at java.base/java.util.concurrent.FutureTask.run(FutureTask.jav >>> a:264) >>> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker( >>> ThreadPoolExecutor.java:1167) >>> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run >>> (ThreadPoolExecutor.java:641) >>> at java.base/java.lang.Thread.run(Thread.java:844) >>> Caused by: java.lang.RuntimeException: jdk.internal.misc.JavaNioAccess >>> class is unavailable. >>> at org.apache.ignite.internal.util.GridUnsafe.javaNioAccessObje >>> ct(GridUnsafe.java:1459) >>> at org.apache.ignite.internal.util.GridUnsafe.<clinit>(GridUnsa >>> fe.java:118) >>> ... 19 more >>> Caused by: java.lang.IllegalAccessException: class >>> org.apache.ignite.internal.util.GridUnsafe cannot access class >>> jdk.internal.misc.SharedSecrets (in module java.base) because module >>> java.base does not export jdk.internal.misc to unnamed module @3cef309d >>> at java.base/jdk.internal.reflect.Reflection.newIllegalAccessEx >>> ception(Reflection.java:361) >>> at java.base/java.lang.reflect.AccessibleObject.checkAccess(Acc >>> essibleObject.java:589) >>> at java.base/java.lang.reflect.Method.invoke(Method.java:556) >>> at org.apache.ignite.internal.util.GridUnsafe.javaNioAccessObje >>> ct(GridUnsafe.java:1456) >>> ... 20 more >>> >>> Mar 29, 2018 3:23:56 PM org.apache.catalina.core.StandardContext >>> loadOnStartup >>> SEVERE: Servlet [Ignite] in web application [/base] threw load() >>> exception >>> java.lang.IllegalAccessException: class >>> org.apache.ignite.internal.util.GridUnsafe >>> cannot access class jdk.internal.misc.SharedSecrets (in module >>> java.base) because module java.base does not export jdk.internal.misc to >>> unnamed module @3cef309d >>> at java.base/jdk.internal.reflect.Reflection.newIllegalAccessEx >>> ception(Reflection.java:361) >>> at java.base/java.lang.reflect.AccessibleObject.checkAccess(Acc >>> essibleObject.java:589) >>> at java.base/java.lang.reflect.Method.invoke(Method.java:556) >>> at org.apache.ignite.internal.util.GridUnsafe.javaNioAccessObje >>> ct(GridUnsafe.java:1456) >>> at org.apache.ignite.internal.util.GridUnsafe.<clinit>(GridUnsa >>> fe.java:118) >>> at org.apache.ignite.internal.util.IgniteUtils.<clinit>(IgniteU >>> tils.java:759) >>> at org.apache.ignite.startup.servlet.ServletStartup.init(Servle >>> tStartup.java:138) >>> at javax.servlet.GenericServlet.init(GenericServlet.java:158) >>> at org.apache.catalina.core.StandardWrapper.initServlet(Standar >>> dWrapper.java:1269) >>> at org.apache.catalina.core.StandardWrapper.loadServlet(Standar >>> dWrapper.java:1182) >>> at org.apache.catalina.core.StandardWrapper.load(StandardWrappe >>> r.java:1072) >>> at org.apache.catalina.core.StandardContext.loadOnStartup(Stand >>> ardContext.java:5362) >>> at org.apache.catalina.core.StandardContext.startInternal(Stand >>> ardContext.java:5660) >>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.j >>> ava:145) >>> at org.apache.catalina.core.ContainerBase.addChildInternal(Cont >>> ainerBase.java:1015) >>> at org.apache.catalina.core.ContainerBase.addChild(ContainerBas >>> e.java:991) >>> at org.apache.catalina.core.StandardHost.addChild(StandardHost. >>> java:652) >>> at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig. >>> java:1127) >>> at org.apache.catalina.startup.HostConfig$DeployWar.run(HostCon >>> fig.java:2020) >>> at java.base/java.util.concurrent.Executors$RunnableAdapter.cal >>> l(Executors.java:514) >>> at java.base/java.util.concurrent.FutureTask.run(FutureTask.jav >>> a:264) >>> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker( >>> ThreadPoolExecutor.java:1167) >>> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run >>> (ThreadPoolExecutor.java:641) >>> at java.base/java.lang.Thread.run(Thread.java:844) >>> >>> Mar 29, 2018 3:24:04 PM org.apache.catalina.core.ApplicationContext log >>> INFO: No Spring WebApplicationInitializer types detected on classpath >>> Mar 29, 2018 3:24:05 PM org.apache.catalina.core.ApplicationContext log >>> INFO: Initializing Spring root WebApplicationContext >>> Mar 29, 2018 3:24:13 PM org.apache.catalina.core.ApplicationContext log >>> INFO: Initializing Spring FrameworkServlet 'spring' >>> Mar 29, 2018 3:24:16 PM org.apache.catalina.core.ApplicationContext log >>> SEVERE: StandardWrapper.Throwable >>> java.lang.NoClassDefFoundError: Could not initialize class >>> org.apache.ignite.internal.util.IgniteUtils >>> at org.apache.ignite.startup.servlet.ServletStartup.init(Servle >>> tStartup.java:138) >>> at javax.servlet.GenericServlet.init(GenericServlet.java:158) >>> at org.apache.catalina.core.StandardWrapper.initServlet(Standar >>> dWrapper.java:1269) >>> at org.apache.catalina.core.StandardWrapper.loadServlet(Standar >>> dWrapper.java:1182) >>> at org.apache.catalina.core.StandardWrapper.load(StandardWrappe >>> r.java:1072) >>> at org.apache.catalina.core.StandardContext.loadOnStartup(Stand >>> ardContext.java:5362) >>> at org.apache.catalina.core.StandardContext.startInternal(Stand >>> ardContext.java:5660) >>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.j >>> ava:145) >>> at org.apache.catalina.core.ContainerBase.addChildInternal(Cont >>> ainerBase.java:1015) >>> at org.apache.catalina.core.ContainerBase.addChild(ContainerBas >>> e.java:991) >>> at org.apache.catalina.core.StandardHost.addChild(StandardHost. >>> java:652) >>> at org.apache.catalina.startup.HostConfig.deployDirectory(HostC >>> onfig.java:1296) >>> at org.apache.catalina.startup.HostConfig$DeployDirectory.run(H >>> ostConfig.java:2038) >>> at java.base/java.util.concurrent.Executors$RunnableAdapter.cal >>> l(Executors.java:514) >>> at java.base/java.util.concurrent.FutureTask.run(FutureTask.jav >>> a:264) >>> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker( >>> ThreadPoolExecutor.java:1167) >>> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run >>> (ThreadPoolExecutor.java:641) >>> at java.base/java.lang.Thread.run(Thread.java:844) >>> >>> Mar 29, 2018 3:24:16 PM org.apache.catalina.core.StandardContext >>> loadOnStartup >>> SEVERE: Servlet [Ignite] in web application [/t_test] threw load() >>> exception >>> java.lang.NoClassDefFoundError: Could not initialize class >>> org.apache.ignite.internal.util.IgniteUtils >>> at org.apache.ignite.startup.servlet.ServletStartup.init(Servle >>> tStartup.java:138) >>> at javax.servlet.GenericServlet.init(GenericServlet.java:158) >>> at org.apache.catalina.core.StandardWrapper.initServlet(Standar >>> dWrapper.java:1269) >>> at org.apache.catalina.core.StandardWrapper.loadServlet(Standar >>> dWrapper.java:1182) >>> at org.apache.catalina.core.StandardWrapper.load(StandardWrappe >>> r.java:1072) >>> at org.apache.catalina.core.StandardContext.loadOnStartup(Stand >>> ardContext.java:5362) >>> at org.apache.catalina.core.StandardContext.startInternal(Stand >>> ardContext.java:5660) >>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.j >>> ava:145) >>> at org.apache.catalina.core.ContainerBase.addChildInternal(Cont >>> ainerBase.java:1015) >>> at org.apache.catalina.core.ContainerBase.addChild(ContainerBas >>> e.java:991) >>> at org.apache.catalina.core.StandardHost.addChild(StandardHost. >>> java:652) >>> at org.apache.catalina.startup.HostConfig.deployDirectory(HostC >>> onfig.java:1296) >>> at org.apache.catalina.startup.HostConfig$DeployDirectory.run(H >>> ostConfig.java:2038) >>> at java.base/java.util.concurrent.Executors$RunnableAdapter.cal >>> l(Executors.java:514) >>> at java.base/java.util.concurrent.FutureTask.run(FutureTask.jav >>> a:264) >>> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker( >>> ThreadPoolExecutor.java:1167) >>> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run >>> (ThreadPoolExecutor.java:641) >>> at java.base/java.lang.Thread.run(Thread.java:844) >>> >>> >> >
