Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-41931

Staging Global Site; Global linked content doesn't display after being published

    Details

      Description

      EDIT: this can be reproduced using local staging too.

      A user connects a global dm image to a blogs entry on local site. Then the user publishes the global site to the global remote site. Lastly the user publishes the local site to a remote site. The publish will be successful in portal, but throw an exception and the image will not display even though it is available in the remote site.

      Steps to reproduce:

      1. Start a local site instance
      2. Add a DM image in the global site
      3. Add a local Test Site with a page
      4. On the site add a blogs entry and link the dm global image
      5. Start the second remote instance
      6. Set up remote staging for the local global site to the remote global site
      7. Publish the global site to remote or export/import the site LAR
      8. Assert the image is successfully imported to the remote global site
      9. Go to the local site and enable remote staging with public page versioning enabled
      10. Go to the local Test Site and publish the site to remote live
      11. Assert the publish is successful in portal
      12. Assert the console error:
        23:02:24,729 ERROR [http-bio-9080-exec-1][LayoutTypePortletImpl:1603] com.liferay.portal.NoSuchLayoutSetException: No LayoutSet exists with the key {groupId=10475, privateLayout=false}
        com.liferay.portal.NoSuchLayoutSetException: No LayoutSet exists with the key {groupId=10475, privateLayout=false}
                at com.liferay.portal.service.persistence.LayoutSetPersistenceImpl.findByG_P(LayoutSetPersistenceImpl.java:1170)
                at com.liferay.portal.service.impl.LayoutSetLocalServiceImpl.getLayoutSet(LayoutSetLocalServiceImpl.java:159)
                at sun.reflect.GeneratedMethodAccessor600.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:601)
                at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
                at com.liferay.portal.service.impl.LayoutSetLocalServiceStagingAdvice.invoke(LayoutSetLocalServiceStagingAdvice.java:68)
                at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
                at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:62)
                at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:51)
                at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
                at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:175)
                at com.sun.proxy.$Proxy42.getLayoutSet(Unknown Source)
                at com.liferay.portal.service.LayoutSetLocalServiceUtil.getLayoutSet(LayoutSetLocalServiceUtil.java:298)
                at com.liferay.portal.model.impl.LayoutRevisionImpl.getLayoutSet(LayoutRevisionImpl.java:111)
                at com.liferay.portal.model.impl.LayoutRevisionImpl.getTheme(LayoutRevisionImpl.java:141)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:601)
                at com.liferay.portal.model.LayoutStagingHandler.invoke(LayoutStagingHandler.java:119)
                at com.sun.proxy.$Proxy421.getTheme(Unknown Source)
                at com.liferay.portal.model.impl.LayoutTypePortletImpl.getThemeId(LayoutTypePortletImpl.java:1593)
                at com.liferay.portal.model.impl.LayoutTypePortletImpl.getLayoutTemplate(LayoutTypePortletImpl.java:350)
                at com.liferay.portal.model.impl.LayoutTypePortletImpl.getColumns(LayoutTypePortletImpl.java:1398)
                at com.liferay.portal.model.impl.LayoutTypePortletImpl.getPortletIds(LayoutTypePortletImpl.java:435)
                at com.liferay.portlet.layoutsadmin.lar.LayoutStagedModelDataHandler.updateTypeSettings(LayoutStagedModelDataHandler.java:1145)
                at com.liferay.portlet.layoutsadmin.lar.LayoutStagedModelDataHandler.doImportStagedModel(LayoutStagedModelDataHandler.java:505)
                at com.liferay.portlet.layoutsadmin.lar.LayoutStagedModelDataHandler.doImportStagedModel(LayoutStagedModelDataHandler.java:1)
                at com.liferay.portal.kernel.lar.BaseStagedModelDataHandler.importStagedModel(BaseStagedModelDataHandler.java:159)
                at com.liferay.portal.kernel.lar.StagedModelDataHandlerUtil.importStagedModel(StagedModelDataHandlerUtil.java:317)
                at com.liferay.portal.kernel.lar.StagedModelDataHandlerUtil.importStagedModel(StagedModelDataHandlerUtil.java:307)
                at com.liferay.portal.lar.LayoutImporter.importLayout(LayoutImporter.java:843)
                at com.liferay.portal.lar.LayoutImporter.doImportLayouts(LayoutImporter.java:501)
                at com.liferay.portal.lar.LayoutImporter.importLayouts(LayoutImporter.java:118)
                at com.liferay.portal.service.impl.LayoutLocalServiceImpl.importLayouts(LayoutLocalServiceImpl.java:1756)
                at com.liferay.portal.service.impl.LayoutLocalServiceImpl.importLayouts(LayoutLocalServiceImpl.java:1805)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:601)
                at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
                at com.liferay.portal.service.impl.LayoutLocalServiceVirtualLayoutsAdvice.invoke(LayoutLocalServiceVirtualLayoutsAdvice.java:179)
                at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
                at com.liferay.portal.service.impl.LayoutLocalServiceStagingAdvice.invoke(LayoutLocalServiceStagingAdvice.java:141)
                at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
                at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:62)
                at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:51)
                at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
                at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:175)
                at com.sun.proxy.$Proxy32.importLayouts(Unknown Source)
                at com.liferay.portal.service.impl.StagingLocalServiceImpl.publishStagingRequest(StagingLocalServiceImpl.java:338)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:601)
                at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
                at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:62)
                at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:51)
                at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
                at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:175)
                at com.sun.proxy.$Proxy95.publishStagingRequest(Unknown Source)
                at com.liferay.portal.service.impl.StagingServiceImpl.publishStagingRequest(StagingServiceImpl.java:61)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:601)
                at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
                at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:62)
                at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:51)
                at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
                at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)
                at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
                at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:175)
                at com.sun.proxy.$Proxy96.publishStagingRequest(Unknown Source)
                at com.liferay.portal.service.StagingServiceUtil.publishStagingRequest(StagingServiceUtil.java:81)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:601)
                at com.liferay.portal.kernel.util.MethodHandler.invoke(MethodHandler.java:61)
                at com.liferay.portal.servlet.TunnelServlet.doPost(TunnelServlet.java:79)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
                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:116)
                at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
                at com.liferay.portal.servlet.filters.authverifier.AuthVerifierFilter.processFilter(AuthVerifierFilter.java:169)
                at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
                at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
                at com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(JSONContentTypeFilter.java:42)
                at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
                at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
                at com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:83)
                at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
                at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
                at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:88)
                at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
                at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
                at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:226)
                at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:185)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
                at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:165)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:165)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:185)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
                at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:96)
                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:222)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
                at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
                at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
                at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
                at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
                at java.lang.Thread.run(Thread.java:722)
        
      13. Go to the Remote Site and assert the Blogs Entry, but the dm image is broken [screenshot]

      Expected result:
      The dm image should display in the blogs entry as both have been published to the remote site.

      Actual result:
      The dm image doesn't display in the blogs entry even though both have been published to the remote site.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Days since last comment:
                  6 years, 30 weeks ago

                  Packages

                  Version Package
                  6.2.2 CE GA3
                  6.2.X EE
                  7.0.0 M1