RE: liferay-portal-6.1.1-ce-ga2 bundle not working with MySql 8.0

neeraj chand, modified 6 Years ago. New Member Posts: 3 Join Date: 3/30/18 Recent Posts
Hi All,

I recently migrated liferay db from oracle 11g to Mysql8.0 and started seeing below erros on server startup (tomcat 7). When I ran the server, automatically the tables got generated in the DB. I loaded some application specific data into some of the tables like Users_, Roles_ etc.
Can anyone please guide me what exactly the issue is  and if I have missed something while migrating the data. Due to some contraints, I can't really upgrade my liferay version right now.

FYI, the application works perfectly fine with Oracle.
​​​​​​​08:33:33,174 ERROR [http-bio-8100-exec-2][MainServlet:1224] com.liferay.portal.kernel.events.ActionException: java.lang.NullPointerException
com.liferay.portal.kernel.events.ActionException: java.lang.NullPointerException
        at com.liferay.portal.events.ServicePreAction.run(ServicePreAction.java:1295)
        at com.liferay.portal.events.EventsProcessorImpl.processEvent(EventsProcessorImpl.java:81)
        at com.liferay.portal.events.EventsProcessorImpl.process(EventsProcessorImpl.java:58)
        at com.liferay.portal.events.EventsProcessorUtil.process(EventsProcessorUtil.java:40)
        at com.liferay.portal.servlet.MainServlet.processServicePre(MainServlet.java:1204)
        at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:501)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
        at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:294)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
        at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:138)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
        at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:335)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
        at com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
        at com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:294)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
        at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:241)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
        at com.liferay.portal.servlet.filters.cache.CacheFilter.processFilter(CacheFilter.java:432)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
        at com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:56)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
        at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:246)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
        at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
        at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:80)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
        at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:163)
        at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:216)
        at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:57)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:206)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:108)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:167)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:187)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:95)
        at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:73)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
        at com.liferay.portal.util.PortalImpl.isLayoutFriendliable(PortalImpl.java:4909)
        at com.liferay.portal.util.PortalImpl.getLayoutFriendlyURL(PortalImpl.java:2448)
        at com.liferay.portal.util.PortalImpl.getLayoutURL(PortalImpl.java:2687)
        at com.liferay.portal.util.PortalImpl.getLayoutFullURL(PortalImpl.java:2499)
        at com.liferay.portal.util.PortalImpl.getLayoutFullURL(PortalImpl.java:2492)
        at com.liferay.portal.util.PortalImpl.getLayoutFullURL(PortalImpl.java:2580)
        at com.liferay.portal.util.PortalUtil.getLayoutFullURL(PortalUtil.java:721)
        at com.liferay.portal.service.ServiceContextFactory.getInstance(ServiceContextFactory.java:69)
        at com.liferay.portal.events.ServicePreAction.servicePre(ServicePreAction.java:1949)
        at com.liferay.portal.events.ServicePreAction.run(ServicePreAction.java:1292)
        ... 119 more
Not sure if below jars need to be updated/changed to work with MySql 8.0


​​​​​​​portal-impl 6.1.1
portal-parent 6.1.1
portal-service 6.1.1
portal-web 6.1.1
util-bridges 6.1.1
util-java 6.1.1
util-taglib 6.1.1

I have the correct mysql connector jar in tomcat->lib/ext. 
Also, I can see below in sever startup logs.

15:57:55,784 INFO  [pool-2-thread-1][DialectDetector:71] Determine dialect for MySQL 8
15:57:55,808 INFO  [pool-2-thread-1][DialectDetector:136] Found dialect org.hibernate.dialect.MySQLDialect
​​​​​​​From where it's taking MySQLDialect ? I read that Mysql8 needs MySql8Dialect. So can this be a possible issue ?
How do I make it use Mysql8Dialect instead of MySqlDialect ?
thumbnail
Andrew Jardine, modified 6 Years ago. Liferay Legend Posts: 2416 Join Date: 12/22/10 Recent Posts
Just a thought, but I would imagine that the issue is that you are using a database that is not supported by Liferay v6.1. Even the latest release (7.1) only contains support up to 5.7. 

The support matrix references MySql 5.1 or MySql 5.5 -- but that is for the EE version. I don't think you're even using the latest version of 6.1.

Do you have to use 8.0? ... and if so, why?
neeraj chand, modified 6 Years ago. New Member Posts: 3 Join Date: 3/30/18 Recent Posts
Hi Andrew,

All other  application which get deployed in liferay portal  connects to different databases which are all mysql 8.0 based. Only the liferay is using oracle 11g. 
In order to make the system consistent, I am exploring ways to make liferay work with Mysql8.
​​​​​​​
thumbnail
Olaf Kock, modified 6 Years ago. Liferay Legend Posts: 6441 Join Date: 9/23/08 Recent Posts
neeraj chand
All other  application which get deployed in liferay portal  connects to different databases which are all mysql 8.0 based. Only the liferay is using oracle 11g. 
In order to make the system consistent, I am exploring ways to make liferay work with Mysql8.​​​
As you mention further up that you'd expect a Mysql8Dialect to be chosen: It's not chosen because it doesn't exist. If you need it, you'll have to implement it yourself.
thumbnail
Olaf Kock, modified 6 Years ago. Liferay Legend Posts: 6441 Join Date: 9/23/08 Recent Posts
neeraj chand

I recently migrated liferay db from oracle 11g to Mysql8.0 and started seeing below erros on server startup (tomcat 7). When I ran the server, automatically the tables got generated in the DB. I loaded some application specific data into some of the tables like Users_, Roles_ etc.
Can anyone please guide me what exactly the issue is  and if I have missed something while migrating the data. Due to some contraints, I can't really upgrade my liferay version right now.
I've answered your identical question on stackoverflow 9.5 hours before you posted it here again. Which part of that answer didn't help you that you felt compelled to ask the same question again here without giving a hint that discussion was going on already?