[BUILD-309] Java 9–10 runtime compatibility Created: 13/Jul/17 Updated: 23/May/19 Resolved: 10/Apr/18 |
|
| Status: | Closed |
| Project: | Build |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | BOM 5.7 |
| Type: | Task | Priority: | Neutral |
| Reporter: | Antti Hietala | Assignee: | Ngoc Nguyenthanh |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | 0d | ||
| Time Spent: | 4d | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Template: |
|
||||||||||||||||
| Acceptance criteria: |
Empty
|
||||||||||||||||
| Task DoR: |
Empty
|
||||||||||||||||
| Release notes required: |
Yes
|
||||||||||||||||
| Date of First Response: | |||||||||||||||||
| Epic Link: | Java 10 | ||||||||||||||||
| Sprint: | Saigon 136, Saigon 137, Saigon 138, Saigon 139, Saigon 140, Saigon 141, Saigon 142 | ||||||||||||||||
| Story Points: | 8 | ||||||||||||||||
| Description |
|
| Comments |
| Comment by Mikaël Geljić [ 14/Mar/18 ] | ||||||||||||||||||||||||||
|
Java 10 is due next week, apparently commons-lang3 will need a boost as well
java.lang.NullPointerException: null
at org.apache.commons.lang3.SystemUtils.isJavaVersionAtLeast(SystemUtils.java:1642) ~[commons-lang3-3.6.jar:3.6]
Upgrading to 3.7 brings Java 10 compliance, and solves this. See https://commons.apache.org/proper/commons-lang/changes-report.html | ||||||||||||||||||||||||||
| Comment by Mikaël Geljić [ 15/Mar/18 ] | ||||||||||||||||||||||||||
|
Hmm, checking Tomcat versions, all versions seem to claim support for Java 8 or higher (only HTTP/2 support requires Java 9); anyway we will most likely do a Tomcat upgrade along with this. See also: | ||||||||||||||||||||||||||
| Comment by Dai Ha [ 16/Mar/18 ] | ||||||||||||||||||||||||||
|
Issue found on tomcat running webapp with JDK 10: Can't load log handler "1catalina.org.apache.juli.AsyncFileHandler"Can't load log handler "1catalina.org.apache.juli.AsyncFileHandler"java.lang.ClassNotFoundException: 1catalina.org.apache.juli.AsyncFileHandlerjava.lang.ClassNotFoundException: 1catalina.org.apache.juli.AsyncFileHandler at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) at java.logging/java.util.logging.LogManager.createLoggerHandlers(LogManager.java:1005) at java.logging/java.util.logging.LogManager.access$1000(LogManager.java:155) at java.logging/java.util.logging.LogManager$2.run(LogManager.java:401) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.logging/java.util.logging.LogManager.ensureLogManagerInitialized(LogManager.java:382) at java.logging/java.util.logging.LogManager.getLogManager(LogManager.java:436) at java.logging/java.util.logging.Logger.demandLogger(Logger.java:648) at java.logging/java.util.logging.Logger.getLogger(Logger.java:717) at java.logging/java.util.logging.Logger.getLogger(Logger.java:701) at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:67) at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:187) at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:117) at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:141) at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:196) at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:52) Fixed on tomcat 8.5.28: https://tomcat.apache.org/tomcat-8.5-doc/changelog.html#Tomcat_8.5.29_(markt) * Prevent a stack trace being written to standard out when running on Java 10 due to changes in the LogManager implementation. | ||||||||||||||||||||||||||
| Comment by Dai Ha [ 16/Mar/18 ] | ||||||||||||||||||||||||||
|
Magnolia release: 5.6.4-SNAPSHOT With those libraries replacement:
All of current ee ui tests have passed* for below setups on MacOS: + JDK 10 + Tomcat 8.5.29** + Magnolia 5.6.4 ( * ) noted an issue with refresh indexes during 1st startup time, should be good after one restart
2018-03-15 14:44:01,601 WARN rg.apache.jackrabbit.core.query.lucene.SearchIndex: Exception initializing indexing configuration from: /info/magnolia/jackrabbit/indexing_configuration_website.xml2018-03-15 14:44:01,601 WARN rg.apache.jackrabbit.core.query.lucene.SearchIndex: Exception initializing indexing configuration from: /info/magnolia/jackrabbit/indexing_configuration_website.xmljavax.jcr.nodetype.NoSuchNodeTypeException: {http://www.magnolia.info/jcr/mgnl}page at org.apache.jackrabbit.core.nodetype.NodeTypeRegistry.getNodeTypeDef(NodeTypeRegistry.java:552) ~[jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.query.lucene.IndexingConfigurationImpl$IndexingRule.getNodeTypeDefinition(IndexingConfigurationImpl.java:853) ~[jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.query.lucene.IndexingConfigurationImpl$IndexingRule.<init>(IndexingConfigurationImpl.java:710) ~[jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.query.lucene.IndexingConfigurationImpl.refreshIndexRules(IndexingConfigurationImpl.java:348) ~[jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.query.lucene.IndexingConfigurationImpl.init(IndexingConfigurationImpl.java:152) ~[jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.query.lucene.SearchIndex.createIndexingConfiguration(SearchIndex.java:1288) [jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchIndex.java:567) [jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQueryHandler.java:78) [jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.config.RepositoryConfigurationParser$1.getQueryHandler(RepositoryConfigurationParser.java:683) [jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.config.WorkspaceConfig.getQueryHandler(WorkspaceConfig.java:251) [jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:171) [jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchManager(RepositoryImpl.java:1902) [jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.doPostInitialize(RepositoryImpl.java:2135) [jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.initialize(RepositoryImpl.java:2038) [jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.RepositoryImpl.getWorkspaceInfo(RepositoryImpl.java:711) [jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1483) [jackrabbit-core-2.16.1.jar:2.16.1] at org.apache.jackrabbit.core.jndi.BindableRepository.login(BindableRepository.java:162) [jackrabbit-core-2.16.1.jar:2.16.1] at info.magnolia.jackrabbit.ProviderImpl.getSystemSession(ProviderImpl.java:515) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at info.magnolia.repository.DefaultRepositoryManager.registerNameSpacesAndNodeTypes(DefaultRepositoryManager.java:294) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at info.magnolia.repository.DefaultRepositoryManager.loadRepository(DefaultRepositoryManager.java:266) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at info.magnolia.repository.DefaultRepositoryManager.loadRepositories(DefaultRepositoryManager.java:222) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at info.magnolia.repository.DefaultRepositoryManager.init(DefaultRepositoryManager.java:121) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at info.magnolia.cms.beans.config.ConfigLoader.load(ConfigLoader.java:136) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at info.magnolia.init.MagnoliaServletContextListener$1.doExec(MagnoliaServletContextListener.java:259) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:407) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:404) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:378) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at info.magnolia.init.MagnoliaServletContextListener.startServer(MagnoliaServletContextListener.java:256) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:182) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:128) [magnolia-core-5.6.3-SNAPSHOT.jar:?] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727) [catalina.jar:8.5.5] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5189) [catalina.jar:8.5.5] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.5.5] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724) [catalina.jar:8.5.5] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700) [catalina.jar:8.5.5] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) [catalina.jar:8.5.5] at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1107) [catalina.jar:8.5.5] at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1841) [catalina.jar:8.5.5] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514) [?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?] at java.lang.Thread.run(Thread.java:844) [?:?]
( ** ) upgrade to fix issue with class not found during tomcat native logging initialized (prefer previous comment), refer: https://bugs.openjdk.java.net/browse/JDK-8195096 https://tomcat.apache.org/tomcat-8.5-doc/changelog.html#Tomcat_8.5.29_(markt) Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0Can't load log handler "1catalina.org.apache.juli.AsyncFileHandler"java.lang.ClassNotFoundException: 1catalina.org.apache.juli.AsyncFileHandlerjava.lang.ClassNotFoundException: 1catalina.org.apache.juli.AsyncFileHandler at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) at java.logging/java.util.logging.LogManager.createLoggerHandlers(LogManager.java:1005) at java.logging/java.util.logging.LogManager.access$1000(LogManager.java:155) at java.logging/java.util.logging.LogManager$2.run(LogManager.java:401) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.logging/java.util.logging.LogManager.ensureLogManagerInitialized(LogManager.java:382) at java.logging/java.util.logging.LogManager.getLogManager(LogManager.java:436) at java.logging/java.util.logging.Logger.demandLogger(Logger.java:648) at java.logging/java.util.logging.Logger.getLogger(Logger.java:717) at java.logging/java.util.logging.Logger.getLogger(Logger.java:701) at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:67) at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:187) at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:117) at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:141) at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:196) at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:52) | ||||||||||||||||||||||||||
| Comment by Mikaël Geljić [ 05/Apr/18 ] | ||||||||||||||||||||||||||
|
sang.ngo As it goes along with the Guice upgrade, let's update mycila as well in this ticket/BOM PR (dai.ha can you then update the table above?) It is fine to proceed and use 4.0-rc1, provided that:
| ||||||||||||||||||||||||||
| Comment by Dai Ha [ 06/Apr/18 ] | ||||||||||||||||||||||||||
|
mgeljic, sure I'll update the table with changes in mycila libs. | ||||||||||||||||||||||||||
| Comment by Dai Ha [ 09/Apr/18 ] | ||||||||||||||||||||||||||
|
Added mycila libs updates to list. | ||||||||||||||||||||||||||
| Comment by Oanh Thai Hoang [ 12/Apr/18 ] | ||||||||||||||||||||||||||
|
QA done. Has been tested with pro bundle version 5.7-SNAPSHOT and java version java version "9.0.4" Java(TM) SE Runtime Environment (build 9.0.4+11) Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode) java version "10" 2018-03-20 Java(TM) SE Runtime Environment 18.3 (build 10+46) Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode) |