Scheduling page data for cache eviction doesn't seem to be working properly anymore
-----------------------------------------------------------------------------------
Key: GTNPORTAL-2253
URL:
https://issues.jboss.org/browse/GTNPORTAL-2253
Project: GateIn Portal
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 3.2.0-M01
Reporter: Chris Laprun
Assignee: Julien Viet
Fix For: 3.2.0-M02
Attachments: test.patch
If the customization associated to a window is changed and an eviction from cache is
scheduled for the containing page, accessing the page will result in a blank page as the
portal cannot find the new customization since it seems like it's still accessing the
cached version of the page data with the following error:
16:26:41,858 ERROR [portal:UIPortlet] Can not find 64c23def0a0002017d1fabe368b1912c
16:26:41,858 ERROR [portal:PortalRequestHandler] Error while handling request
org.exoplatform.portal.config.NoSuchDataException: Can not find
64c23def0a0002017d1fabe368b1912c
at
org.exoplatform.portal.pom.config.POMSession.findCustomizationById(POMSession.java:214)
at
org.exoplatform.portal.pom.config.tasks.PreferencesTask$GetContentId.run(PreferencesTask.java:51)
at
org.exoplatform.portal.pom.config.tasks.PreferencesTask$GetContentId.run(PreferencesTask.java:38)
at org.exoplatform.portal.pom.config.POMSession.execute(POMSession.java:405)
at
org.exoplatform.portal.pom.config.ExecutorDispatcher.execute(ExecutorDispatcher.java:44)
at
org.exoplatform.portal.pom.config.TaskExecutionDecorator.execute(TaskExecutionDecorator.java:38)
at org.exoplatform.portal.pom.config.cache.DataCache.execute(DataCache.java:74)
at
org.exoplatform.portal.pom.config.TaskExecutionDecorator.execute(TaskExecutionDecorator.java:38)
at
org.exoplatform.portal.pom.config.cache.PortalNamesCache.execute(PortalNamesCache.java:79)
at
org.exoplatform.portal.pom.config.POMSessionManager.execute(POMSessionManager.java:253)
at org.exoplatform.portal.pom.config.POMDataStorage.getId(POMDataStorage.java:143)
at org.exoplatform.portal.config.DataStorageImpl.getId(DataStorageImpl.java:292)
at org.exoplatform.portal.webui.application.UIPortlet.setState(UIPortlet.java:928)
at
org.exoplatform.portal.webui.util.PortalDataMapper.toUIPortlet(PortalDataMapper.java:247)
at
org.exoplatform.portal.webui.util.PortalDataMapper.buildUIContainer(PortalDataMapper.java:403)
at
org.exoplatform.portal.webui.util.PortalDataMapper.toUIContainer(PortalDataMapper.java:315)
at
org.exoplatform.portal.webui.util.PortalDataMapper.toUIContainer(PortalDataMapper.java:292)
at
org.exoplatform.portal.webui.util.PortalDataMapper.toUIPage(PortalDataMapper.java:321)
at org.exoplatform.portal.webui.page.UIPageBody.getUIPage(UIPageBody.java:148)
at org.exoplatform.portal.webui.page.UIPageBody.setPageBody(UIPageBody.java:78)
at org.exoplatform.portal.webui.portal.UIPortal.refreshUIPage(UIPortal.java:238)
at
org.exoplatform.portal.webui.page.UIPageActionListener$ChangeNodeActionListener.execute(UIPageActionListener.java:165)
at org.exoplatform.webui.core.UIComponent.broadcast(UIComponent.java:360)
at
org.exoplatform.portal.webui.workspace.UIPortalApplication.processAction(UIPortalApplication.java:563)
at
org.exoplatform.portal.application.PortalRequestHandler.processRequest(PortalRequestHandler.java:177)
at
org.exoplatform.portal.application.PortalRequestHandler.execute(PortalRequestHandler.java:150)
at org.exoplatform.web.WebAppController.service(WebAppController.java:349)
at
org.exoplatform.portal.application.PortalController.onService(PortalController.java:127)
at
org.exoplatform.container.web.AbstractHttpServlet.service(AbstractHttpServlet.java:132)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:86)
at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:54)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:110)
at org.exoplatform.sample.ext.web.SampleFilter.doFilter(SampleFilter.java:46)
at
org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:106)
at org.exoplatform.web.filter.ExtensibleFilter.doFilter(ExtensibleFilter.java:80)
at org.exoplatform.web.filter.GenericFilter.doFilter(GenericFilter.java:79)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.web.CacheUserProfileFilter.doFilter(CacheUserProfileFilter.java:73)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.exoplatform.frameworks.jcr.web.ThreadLocalSessionProviderInitializedFilter.doFilter(ThreadLocalSessionProviderInitializedFilter.java:116)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.exoplatform.services.security.web.SetCurrentIdentityFilter.doFilter(SetCurrentIdentityFilter.java:88)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.web.login.ClusteredSSOFilter.doFilter(ClusteredSSOFilter.java:72)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.exoplatform.container.web.PortalContainerFilter.doFilter(PortalContainerFilter.java:69)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:402)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:680)
Note that restarting the server will allow the user to properly access the page with the
proper content (so the new data is properly persisted, it's just not properly made
available to the user).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira