Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-22794

Handle duplicate memberships gracefully during user management upgrade

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Highest
    • 3.5.9
    • 3.5.5
    • None

    Description

      https://bamboo.extranet.atlassian.com/browse/PERFENG-PERFREINDEXTOMCAT6PGSQL16/ currently hangs due to this. Checking the logs shows that there are duplicate memberships in the dataset. We should handle that more gracefully.

      2011-06-29 12:22:13,755 ERROR [main] [atlassian.confluence.upgrade.UpgradeLauncherServletContextListener] contextInitialized Upgrade failed, application will not start: java.lang.RuntimeException: net.sf.hibernate.exception.ConstraintViolationException: could not insert: [com.atlassian.crowd.embedded.hibernate2.HibernateMembership#168012238]
      com.atlassian.confluence.upgrade.UpgradeException: java.lang.RuntimeException: net.sf.hibernate.exception.ConstraintViolationException: could not insert: [com.atlassian.crowd.embedded.hibernate2.HibernateMembership#168012238]
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.upgrade(AbstractUpgradeManager.java:110)
      	at com.atlassian.confluence.upgrade.impl.DefaultUpgradeManager.upgrade(DefaultUpgradeManager.java:156)
      	at com.atlassian.confluence.upgrade.UpgradeLauncherServletContextListener.contextInitialized(UpgradeLauncherServletContextListener.java:28)
      	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3830)
      	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
      	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
      	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
      	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
      	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
      	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
      	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
      	at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
      Caused by: java.lang.RuntimeException: net.sf.hibernate.exception.ConstraintViolationException: could not insert: [com.atlassian.crowd.embedded.hibernate2.HibernateMembership#168012238]
      	at com.atlassian.confluence.upgrade.upgradetask.SessionClearingRowCallbackHandler.flushAndClear(SessionClearingRowCallbackHandler.java:54)
      	at com.atlassian.confluence.upgrade.upgradetask.SessionClearingRowCallbackHandler.processRow(SessionClearingRowCallbackHandler.java:41)
      	at org.springframework.jdbc.core.JdbcTemplate$RowCallbackHandlerResultSetExtractor.extractData(JdbcTemplate.java:1368)
      	at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:448)
      	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:396)
      	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:458)
      	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:462)
      	at com.atlassian.confluence.user.migration.AtlassianUserDataMigrator.migrateGroupMemberships(AtlassianUserDataMigrator.java:210)
      	at com.atlassian.confluence.upgrade.upgradetask.AtlassianUserToEmbeddedCrowdDataUpgradeTask.doUpgrade(AtlassianUserToEmbeddedCrowdDataUpgradeTask.java:74)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at $Proxy33.doUpgrade(Unknown Source)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.doUpgrade(AbstractUpgradeManager.java:190)
      	at com.atlassian.confluence.upgrade.AbstractUpgradeManager.upgrade(AbstractUpgradeManager.java:93)
      	... 17 more
      

      Attachments

        Activity

          People

            dkjellin Daniel
            dkjellin Daniel
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: