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

Unable to create new portal instances with sharding enabled

    Details

    • Fix Priority:
      4

      Description

      Steps to reproduce:

      1. Configure in your /etc/hosts to redirect liferaydev.com to localhost, just adding the next line:

      127.0.0.1 liferaydev.com

      2. Add the next property to your portal-ext.properties:

            spring.configs=\
              META-INF/base-spring.xml,\
              \
              META-INF/hibernate-spring.xml,\
              META-INF/infrastructure-spring.xml,\
              META-INF/management-spring.xml,\
              \
              META-INF/util-spring.xml,\
              \
              META-INF/executor-spring.xml,\
              \
              META-INF/audit-spring.xml,\
              META-INF/cluster-spring.xml,\
              META-INF/comment-spring.xml,\
              META-INF/jcr-spring.xml,\
              META-INF/ldap-spring.xml,\
              META-INF/messaging-core-spring.xml,\
              META-INF/messaging-misc-spring.xml,\
              META-INF/mobile-device-spring.xml,\
              META-INF/model-listener-spring.xml,\
              META-INF/notifications-spring.xml,\
              META-INF/poller-spring.xml,\
              META-INF/rules-spring.xml,\
              META-INF/scheduler-spring.xml,\
              META-INF/search-spring.xml,\
              META-INF/service-configurator-spring.xml,\
              META-INF/workflow-spring.xml,\
              \
              META-INF/counter-spring.xml,\
              META-INF/mail-spring.xml,\
              META-INF/portal-spring.xml,\
              META-INF/portlet-container-spring.xml,\
              META-INF/staging-spring.xml,\
              META-INF/virtual-layouts-spring.xml,\
              \
              META-INF/monitoring-spring.xml,\
              \
              #META-INF/dynamic-data-source-spring.xml,\
              META-INF/shard-data-source-spring.xml,\
              \
              classpath*:META-INF/ext-spring.xml
      

      And configure also your database conection for the three shards via the properties jdbc.default.* , jdbc.one.* , jdbc.two.*

      3. Go to Control Panel > Portal Settings > Portal Instances

      4. Add an new instance with the Virtual Host = liferaydev.com

      Result
      Your request completed successfully but in logs there are several errors see attached error.log and the instance is not accesible from a browser

      First of the errors:

      13:15:58,607 ERROR [http-bio-8080-exec-8][PortletPreferencesModelListener:132] Unable to update the layout's modified date
      com.liferay.portal.kernel.exception.SystemException: com.liferay.portal.kernel.dao.orm.ORMException: {mvccVersion=1, uuid=42685faa-ee5e-80ed-af58-6f9503d2d762, plid=11208, groupId=11205, companyId=11046, userId=11049, userName=, createDate=Tue Sep 16 13:15:58 CEST 2014, modifiedDate=Tue Sep 16 13:15:58 CEST 2014, privateLayout=true, layoutId=1, parentLayoutId=0, name=<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US,ca_ES,zh_CN,nl_NL,fi_FI,fr_FR,de_DE,iw_IL,hu_HU,ja_JP,pt_BR,es_ES," default-locale="en_US"><Name language-id="ca_ES">Blog</Name><Name language-id="zh_CN">博客</Name><Name language-id="nl_NL">Blog</Name><Name language-id="en_US">Blog</Name><Name language-id="fi_FI">Blog</Name><Name language-id="fr_FR">Blog</Name><Name language-id="de_DE">Blog</Name><Name language-id="iw_IL">Blog</Name><Name language-id="hu_HU">Blog</Name><Name language-id="ja_JP">ブログ</Name><Name language-id="pt_BR">Blog</Name><Name language-id="es_ES">Blog</Name></root>, title=, description=, keywords=, robots=, type=portlet, typeSettings=column-1=33,_column-2=148_INSTANCE_IUSUWdNNErTv,_layout-template-id=2_columns_iii_privateLayout=true_, hidden=false, friendlyURL=/layout, iconImageId=0, themeId=, colorSchemeId=, wapThemeId=, wapColorSchemeId=, css=, priority=0, layoutPrototypeUuid=, layoutPrototypeLinkEnabled=false, sourcePrototypeLayoutUuid=} is stale in comparison to {mvccVersion=2, uuid=42685faa-ee5e-80ed-af58-6f9503d2d762, plid=11208, groupId=11205, companyId=11046, userId=11049, userName=, createDate=2014-09-16 13:15:58.0, modifiedDate=2014-09-16 13:15:58.0, privateLayout=true, layoutId=1, parentLayoutId=0, name=<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US,ca_ES,zh_CN,nl_NL,fi_FI,fr_FR,de_DE,iw_IL,hu_HU,ja_JP,pt_BR,es_ES," default-locale="en_US"><Name language-id="ca_ES">Blog</Name><Name language-id="zh_CN">博客</Name><Name language-id="nl_NL">Blog</Name><Name language-id="en_US">Blog</Name><Name language-id="fi_FI">Blog</Name><Name language-id="fr_FR">Blog</Name><Name language-id="de_DE">Blog</Name><Name language-id="iw_IL">Blog</Name><Name language-id="hu_HU">Blog</Name><Name language-id="ja_JP">ブログ</Name><Name language-id="pt_BR">Blog</Name><Name language-id="es_ES">Blog</Name></root>, title=, description=, keywords=, robots=, type=portlet, typeSettings=column-1=33,_column-2=148_INSTANCE_IUSUWdNNErTv,_layout-template-id=2_columns_iii_privateLayout=true_, hidden=false, friendlyURL=/layout, iconImageId=0, themeId=, colorSchemeId=, wapThemeId=, wapColorSchemeId=, css=, priority=0, layoutPrototypeUuid=, layoutPrototypeLinkEnabled=false, sourcePrototypeLayoutUuid=} [Sanitized]
              at com.liferay.portal.service.persistence.impl.BasePersistenceImpl.processException(BasePersistenceImpl.java:251)
              at com.liferay.portal.service.persistence.impl.LayoutPersistenceImpl.updateImpl(LayoutPersistenceImpl.java:8247)
              at com.liferay.portal.service.persistence.impl.LayoutPersistenceImpl.updateImpl(LayoutPersistenceImpl.java:68)
              at com.liferay.portal.service.persistence.impl.BasePersistenceImpl.update(BasePersistenceImpl.java:325)
      [...]
              at java.lang.reflect.Method.invoke(Method.java:606)
              at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:115)
              at com.liferay.portal.service.impl.PortletPreferencesLocalServiceStagingAdvice.updatePreferences(PortletPreferencesLocalServiceStagingAdvice.java:242)
              at com.liferay.portal.service.impl.PortletPreferencesLocalServiceStagingAdvice.invoke(PortletPreferencesLocalServiceStagingAdvice.java:79)
              at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:111)
      
      [...]
              at com.sun.proxy.$Proxy168.updatePreferences(Unknown Source)
              at com.liferay.portal.service.PortletPreferencesLocalServiceUtil.updatePreferences(PortletPreferencesLocalServiceUtil.java:403)
              at com.liferay.portlet.PortletPreferencesImpl.store(PortletPreferencesImpl.java:174)
              at com.liferay.portal.events.BaseDefaultLayoutPrototypesAction.updatePortletSetup(BaseDefaultLayoutPrototypesAction.java:128)
              at com.liferay.portal.events.AddDefaultLayoutPrototypesAction.addBlogPage(AddDefaultLayoutPrototypesAction.java:84)
              at com.liferay.portal.events.AddDefaultLayoutPrototypesAction.doRun(AddDefaultLayoutPrototypesAction.java:206)
              at com.liferay.portal.events.AddDefaultLayoutPrototypesAction.run(AddDefaultLayoutPrototypesAction.java:51)
              at com.liferay.portal.events.AddDefaultDataAction.run(AddDefaultDataAction.java:40)
              at com.liferay.portal.kernel.events.SimpleAction.processLifecycleEvent(SimpleAction.java:26)
              at com.liferay.portal.events.EventsProcessorUtil._process(EventsProcessorUtil.java:129)
              at com.liferay.portal.events.EventsProcessorUtil.process(EventsProcessorUtil.java:74)
              at com.liferay.portal.util.PortalInstances._initCompany(PortalInstances.java:494)
              at com.liferay.portal.util.PortalInstances.initCompany(PortalInstances.java:93)
              at com.liferay.portlet.admin.action.EditInstanceAction.updateInstance(EditInstanceAction.java:155)
              at com.liferay.portlet.admin.action.EditInstanceAction.processAction(EditInstanceAction.java:64)
         ...
              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:724)
      Caused by: com.liferay.portal.kernel.dao.orm.ORMException: {mvccVersion=1, uuid=42685faa-ee5e-80ed-af58-6f9503d2d762, plid=11208, groupId=11205, companyId=11046, userId=11049, userName=, createDate=Tue Sep 16 13:15:58 CEST 2014, modifiedDate=Tue Sep 16 13:15:58 CEST 2014, privateLayout=true, layoutId=1, parentLayoutId=0, name=<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US,ca_ES,zh_CN,nl_NL,fi_FI,fr_FR,de_DE,iw_IL,hu_HU,ja_JP,pt_BR,es_ES," default-locale="en_US"><Name language-id="ca_ES">Blog</Name><Name language-id="zh_CN">博客</Name><Name language-id="nl_NL">Blog</Name><Name language-id="en_US">Blog</Name><Name language-id="fi_FI">Blog</Name><Name language-id="fr_FR">Blog</Name><Name language-id="de_DE">Blog</Name><Name language-id="iw_IL">Blog</Name><Name language-id="hu_HU">Blog</Name><Name language-id="ja_JP">ブログ</Name><Name language-id="pt_BR">Blog</Name><Name language-id="es_ES">Blog</Name></root>, title=, description=, keywords=, robots=, type=portlet, typeSettings=column-1=33,_column-2=148_INSTANCE_IUSUWdNNErTv,_layout-template-id=2_columns_iii_privateLayout=true_, hidden=false, friendlyURL=/layout, iconImageId=0, themeId=, colorSchemeId=, wapThemeId=, wapColorSchemeId=, css=, priority=0, layoutPrototypeUuid=, layoutPrototypeLinkEnabled=false, sourcePrototypeLayoutUuid=} is stale in comparison to {mvccVersion=2, uuid=42685faa-ee5e-80ed-af58-6f9503d2d762, plid=11208, groupId=11205, companyId=11046, userId=11049, userName=, createDate=2014-09-16 13:15:58.0, modifiedDate=2014-09-16 13:15:58.0, privateLayout=true, layoutId=1, parentLayoutId=0, name=<?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US,ca_ES,zh_CN,nl_NL,fi_FI,fr_FR,de_DE,iw_IL,hu_HU,ja_JP,pt_BR,es_ES," default-locale="en_US"><Name language-id="ca_ES">Blog</Name><Name language-id="zh_CN">博客</Name><Name language-id="nl_NL">Blog</Name><Name language-id="en_US">Blog</Name><Name language-id="fi_FI">Blog</Name><Name language-id="fr_FR">Blog</Name><Name language-id="de_DE">Blog</Name><Name language-id="iw_IL">Blog</Name><Name language-id="hu_HU">Blog</Name><Name language-id="ja_JP">ブログ</Name><Name language-id="pt_BR">Blog</Name><Name language-id="es_ES">Blog</Name></root>, title=, description=, keywords=, robots=, type=portlet, typeSettings=column-1=33,_column-2=148_INSTANCE_IUSUWdNNErTv,_layout-template-id=2_columns_iii_privateLayout=true_, hidden=false, friendlyURL=/layout, iconImageId=0, themeId=, colorSchemeId=, wapThemeId=, wapColorSchemeId=, css=, priority=0, layoutPrototypeUuid=, layoutPrototypeLinkEnabled=false, sourcePrototypeLayoutUuid=} [Sanitized]
              at com.liferay.portal.dao.orm.hibernate.ExceptionTranslator.translate(ExceptionTranslator.java:46)
              at com.liferay.portal.dao.orm.hibernate.SessionImpl.merge(SessionImpl.java:245)
              at com.liferay.portal.kernel.dao.orm.ClassLoaderSession.merge(ClassLoaderSession.java:410)
              at com.liferay.portal.service.persistence.impl.LayoutPersistenceImpl.updateImpl(LayoutPersistenceImpl.java:8243)
              ... 243 more
      Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.liferay.portal.model.impl.LayoutImpl#11208]
              at org.hibernate.event.def.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:485)
              at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:255)
              at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:84)
              at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:867)
              at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:851)
              at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:855)
              at com.liferay.portal.dao.orm.hibernate.SessionImpl.merge(SessionImpl.java:242)
              ... 245 more
      

      Expected Instance is created without errors and is accessible in a browser

        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:
                  4 years, 7 weeks, 1 day ago

                  Packages

                  Version Package