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

Upgrade task "DeleteDuplicateTasksUpgradeTask" fails to handle more than 2000 tasks scan

    XMLWordPrintable

Details

    Description

      When using MSSQL server, If a customer has more than 2000 tasks to scan, the upgrade task "DeleteDuplicateTasksUpgradeTask" fails.

      2014-09-29 18:23:40,431 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] buildTaskExtractionThreads Using 4 task extraction threads
      2014-09-29 18:23:40,431 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] buildTaskInsertionThreads Using 4 task insertion threads
      2014-09-29 18:23:40,556 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 0 tasks migrated so far.
      2014-09-29 18:23:40,868 INFO [StorageToAoMigrationUpgradeTask-PageFinder] [plugins.tasklist.upgradetask.StorageToAoMigrationPageFinder] run Starting migration of tasks in 28456 pages to Active Objects.
      2014-09-29 18:23:50,619 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 579 tasks migrated so far.
      2014-09-29 18:24:00,651 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 1703 tasks migrated so far.
      2014-09-29 18:24:10,715 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 3714 tasks migrated so far.
      2014-09-29 18:24:20,763 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 4530 tasks migrated so far.
      2014-09-29 18:24:30,826 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 4779 tasks migrated so far.
      2014-09-29 18:24:40,890 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 6280 tasks migrated so far.
      2014-09-29 18:24:50,922 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 8013 tasks migrated so far.
      2014-09-29 18:25:00,985 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 9027 tasks migrated so far.
      2014-09-29 18:25:11,049 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 9864 tasks migrated so far.
      2014-09-29 18:25:21,049 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 10549 tasks migrated so far.
      2014-09-29 18:25:31,112 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 12066 tasks migrated so far.
      2014-09-29 18:25:41,175 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 12577 tasks migrated so far.
      2014-09-29 18:25:51,176 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] logProgress Migrating tasks to active objects. 12587 tasks migrated so far.
      2014-09-29 18:25:52,863 INFO [lifecycle:thread-1] [plugins.tasklist.upgradetask.StorageToAoMigrationUpgradeTask] finishUpgradeSuccessfully Successfully migrated 12589 tasks in 132448ms.
      2014-09-29 18:25:53,004 ERROR [lifecycle:thread-1] [sf.hibernate.util.JDBCExceptionReporter] logExceptions Prepared or callable statement has more than 2000 parameter markers.
      2014-09-29 18:25:53,004 ERROR [lifecycle:thread-1] [sf.hibernate.util.JDBCExceptionReporter] logExceptions Prepared or callable statement has more than 2000 parameter markers.
      2014-09-29 18:25:53,004 ERROR [lifecycle:thread-1] [sal.core.upgrade.PluginUpgrader] doUpgrade Upgrade failed: Hibernate operation: Could not execute query; SQL []; Prepared or callable statement has more than 2000 parameter markers.; nested exception is java.sql.SQLException: Prepared or callable statement has more than 2000 parameter markers.
      org.springframework.dao.DataIntegrityViolationException: Hibernate operation: Could not execute query; SQL []; Prepared or callable statement has more than 2000 parameter markers.; nested exception is java.sql.SQLException: Prepared or callable statement has more than 2000 parameter markers.
      	at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:100)
      	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
      	at org.springframework.orm.hibernate.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:364)
      	at org.springframework.orm.hibernate.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:351)
      	at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:375)
      	at org.springframework.orm.hibernate.HibernateTemplate.executeFind(HibernateTemplate.java:341)
      	at com.atlassian.hibernate.HibernateObjectDao.findNamedQueryStringParams(HibernateObjectDao.java:376)
      	at com.atlassian.hibernate.HibernateObjectDao.findNamedQueryStringParam(HibernateObjectDao.java:311)
      	at com.atlassian.confluence.pages.persistence.dao.hibernate.HibernateAbstractPageDao.getAbstractPageByIds(HibernateAbstractPageDao.java:48)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	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 com.sun.proxy.$Proxy63.getAbstractPageByIds(Unknown Source)
      	at com.atlassian.confluence.pages.DefaultPageManager.getAbstractPages(DefaultPageManager.java:205)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	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 com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:16)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at com.atlassian.confluence.util.profiling.ConfluenceMonitoringMethodInterceptor.invoke(ConfluenceMonitoringMethodInterceptor.java:59)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at com.sun.proxy.$Proxy66.getAbstractPages(Unknown Source)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
      	at com.sun.proxy.$Proxy206.getAbstractPages(Unknown Source)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154)
      	at com.sun.proxy.$Proxy206.getAbstractPages(Unknown Source)
      	at com.atlassian.confluence.plugins.tasklist.upgradetask.DeleteDuplicateTasksUpgradeTask.getPagesWithTasks(DeleteDuplicateTasksUpgradeTask.java:252)
      	at com.atlassian.confluence.plugins.tasklist.upgradetask.DeleteDuplicateTasksUpgradeTask.doUpgrade(DeleteDuplicateTasksUpgradeTask.java:132)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at com.sun.proxy.$Proxy934.doUpgrade(Unknown Source)
      	at com.atlassian.sal.core.upgrade.PluginUpgrader.doUpgrade(PluginUpgrader.java:85)
      	at com.atlassian.sal.core.upgrade.PluginUpgrader.upgrade(PluginUpgrader.java:66)
      	at com.atlassian.sal.core.upgrade.DefaultPluginUpgradeManager$1.doInTransaction(DefaultPluginUpgradeManager.java:223)
      	at com.atlassian.sal.core.upgrade.DefaultPluginUpgradeManager$1.doInTransaction(DefaultPluginUpgradeManager.java:191)
      	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate$1.doInTransaction(HostContextTransactionTemplate.java:25)
      	at com.atlassian.sal.spring.component.SpringHostContextAccessor$1.doInTransaction(SpringHostContextAccessor.java:88)
      	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
      	at com.atlassian.sal.spring.component.SpringHostContextAccessor.doInTransaction(SpringHostContextAccessor.java:82)
      	at sun.reflect.GeneratedMethodAccessor157.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
      	at com.sun.proxy.$Proxy238.doInTransaction(Unknown Source)
      	at sun.reflect.GeneratedMethodAccessor157.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154)
      	at com.sun.proxy.$Proxy238.doInTransaction(Unknown Source)
      	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:21)
      	at com.atlassian.sal.core.upgrade.DefaultPluginUpgradeManager.upgradePlugin(DefaultPluginUpgradeManager.java:190)
      	at com.atlassian.sal.core.upgrade.DefaultPluginUpgradeManager.upgradeInternal(DefaultPluginUpgradeManager.java:165)
      	at com.atlassian.sal.core.upgrade.DefaultPluginUpgradeManager.upgrade(DefaultPluginUpgradeManager.java:147)
      	at com.atlassian.sal.core.upgrade.DefaultPluginUpgradeManager.onStart(DefaultPluginUpgradeManager.java:86)
      	at com.atlassian.sal.confluence.lifecycle.TenantAwareLifecycleManager$PerTenantLifecycleExecution$2.call(TenantAwareLifecycleManager.java:223)
      	at com.atlassian.confluence.tenant.VolatileSingleTenantRegistry.asTenant(VolatileSingleTenantRegistry.java:53)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
      	at com.sun.proxy.$Proxy402.asTenant(Unknown Source)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
      	at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
      	at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      	at com.sun.proxy.$Proxy479.asTenant(Unknown Source)
      	at com.atlassian.sal.confluence.lifecycle.TenantAwareLifecycleManager$PerTenantLifecycleExecution.triggerLifecycleAsTenant(TenantAwareLifecycleManager.java:218)
      	at com.atlassian.sal.confluence.lifecycle.TenantAwareLifecycleManager$PerTenantLifecycleExecution.access$400(TenantAwareLifecycleManager.java:167)
      	at com.atlassian.sal.confluence.lifecycle.TenantAwareLifecycleManager$PerTenantLifecycleExecution$1.apply(TenantAwareLifecycleManager.java:206)
      	at com.atlassian.sal.confluence.lifecycle.TenantAwareLifecycleManager$PerTenantLifecycleExecution$1.apply(TenantAwareLifecycleManager.java:202)
      	at com.atlassian.sal.confluence.lifecycle.StaticServiceExecution.execute(StaticServiceExecution.java:28)
      	at com.atlassian.sal.confluence.lifecycle.ServiceExecutionTemplate.call(ServiceExecutionTemplate.java:54)
      	at com.atlassian.sal.confluence.lifecycle.ServiceExecutionTemplate.call(ServiceExecutionTemplate.java:22)
      	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
      	at java.util.concurrent.FutureTask.run(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at java.lang.Thread.run(Unknown Source)
      Caused by: java.sql.SQLException: Prepared or callable statement has more than 2000 parameter markers.
      	at net.sourceforge.jtds.jdbc.SQLParser.parse(SQLParser.java:1139)
      	at net.sourceforge.jtds.jdbc.SQLParser.parse(SQLParser.java:156)
      	at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.<init>(JtdsPreparedStatement.java:104)
      	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.prepareStatement(ConnectionJDBC2.java:2372)
      	at net.sourceforge.jtds.jdbc.ConnectionJDBC2.prepareStatement(ConnectionJDBC2.java:2330)
      	at com.mchange.v2.c3p0.impl.NewProxyConnection.prepareStatement(NewProxyConnection.java:213)
      	at net.sf.hibernate.impl.BatcherImpl.getPreparedStatement(BatcherImpl.java:263)
      	at net.sf.hibernate.impl.BatcherImpl.getPreparedStatement(BatcherImpl.java:236)
      	at net.sf.hibernate.impl.BatcherImpl.prepareQueryStatement(BatcherImpl.java:67)
      	at net.sf.hibernate.loader.Loader.prepareQueryStatement(Loader.java:784)
      	at net.sf.hibernate.loader.Loader.doQuery(Loader.java:269)
      	at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:138)
      	at net.sf.hibernate.loader.Loader.doList(Loader.java:1063)
      	at net.sf.hibernate.loader.Loader.list(Loader.java:1048)
      	at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:854)
      	at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1569)
      	at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:49)
      	at com.atlassian.hibernate.HibernateObjectDao$5.doInHibernate(HibernateObjectDao.java:410)
      	at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:370)
      	... 130 more
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mrawson Miranda Rawson
              Votes:
              5 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated: