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

"Saving is not possible at the moment" when copying a page with alot of attachments within the same space.

    XMLWordPrintable

Details

    Description

      NOTE: This bug report is for Confluence Server. Using Confluence Cloud? See the corresponding bug report.

      Summary

      When copying a page with a large amount of attachments (Either in high number or large in size) in the same space. It generates an error "Saving is not possible at the moment."

      Steps to Reproduce

      1. Step 1 Attach 100+ attachments or several Large (1GB +) attachments to a page and save it.
      2. Attempt to copy the page in the same space and save it.

      I was not able to reproduce it if I saved and moved it to another space. It only reproduced if I was making a copy, renaming it, and saving it within the same space.

      Expected Results

      Page copies with attachments successfully.

      Actual Results

      Page will error in saving is not possible at the moment. It will finally save if you wait for a short period of time. It doesn't appear to copy over all the attachments. In my testing it seems that it copies only the active attachments in the body content.

      The below exception is thrown in the xxxxxxx.log file:

      ERROR [http-bio-1990-exec-627] [sf.hibernate.impl.SessionImpl] execute Could not synchronize database state with session
      2016-01-07 14:16:17.333558500  -- referer: /wiki/pages/copypage.action?idOfPageToCopy=57016452&spaceKey=CCDS | url: /wiki/rest/api/content | traceId: 2d946ca43934ef2e | userName: sysadmin
      2016-01-07 14:16:17.347602500 2016-01-07 14:16:17,337 ERROR [http-bio-1990-exec-627] [rest.api.model.ExceptionConverter] convertServiceException No status code found for exception, converting to internal server error : 
      2016-01-07 14:16:17.347604500  -- referer:t/wiki/pages/copypage.action?idOfPageToCopy=57016452&spaceKey=CCDS | url: /wiki/rest/api/content | traceId: 2d946ca43934ef2e | userName: sysadmin
      2016-01-07 14:16:17.347605500 org.springframework.orm.hibernate.HibernateSystemException: could not update: [com.atlassian.confluence.pages.Attachment#63407099]; nested exception is net.sf.hibernate.HibernateException: could not update: [com.atlassian.confluence.pages.Attachment#63407099]
      2016-01-07 14:16:17.347634500 	at org.springframework.orm.hibernate.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:597)
      2016-01-07 14:16:17.348686500 Caused by: net.sf.hibernate.HibernateException: could not update: [com.atlassian.confluence.pages.Attachment#63407099]
      2016-01-07 14:16:17.348690500 	at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:693)
      2016-01-07 14:16:17.348691500 	at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:630)
      2016-01-07 14:16:17.348691500 	at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
      2016-01-07 14:16:17.348691500 	at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2476)
      2016-01-07 14:16:17.348697500 	at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2462)
      2016-01-07 14:16:17.348698500 	at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2420)
      2016-01-07 14:16:17.348698500 	at net.sf.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:1837)
      2016-01-07 14:16:17.348698500 	at net.sf.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:1594)
      2016-01-07 14:16:17.348699500 	at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1559)
      2016-01-07 14:16:17.348703500 	at net.sf.hibernate.impl.QueryImpl.list(QueryImpl.java:49)
      2016-01-07 14:16:17.348704500 	at com.atlassian.hibernate.HibernateObjectDao.lambda$findNamedQueryStringParams$5(HibernateObjectDao.java:507)
      2016-01-07 14:16:17.348704500 	at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:370)
      2016-01-07 14:16:17.348705500 	... 370 more
      2016-01-07 14:16:17.348705500 Caused by: net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for com.atlassian.confluence.pages.Attachment instance with identifier: 63407099
      2016-01-07 14:16:17.348710500 	at net.sf.hibernate.persister.AbstractEntityPersister.check(AbstractEntityPersister.java:513)
      2016-01-07 14:16:17.348710500 	at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:673)
      
      ERROR [conversion-thread-cloud-0] [plugins.conversion.impl.TimeoutConversionRunnable] run Cannot convert. Execution error: 
      2016-01-07 14:17:58.734520500  -- url: /wiki/plugins/drag-and-drop/upload.action | traceId: 45c26a22191ebef2 | userName: dbiggs06 | referer: https://atlassian.net/wiki/pages/editpage.action?pageId=62588468 | action: upload
      2016-01-07 14:17:58.734521500 org.springframework.orm.hibernate.HibernateSystemException: could not update: [com.atlassian.confluence.pages.Attachment#63407098]; nested exception is net.sf.hibernate.HibernateException: could not update: [com.atlassian.confluence.pages.Attachment#63407098]
      2016-01-07 14:17:58.734544500 	at org.springframework.orm.hibernate.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:597)
      2016-01-07 14:17:58.734545500 	at org.springframework.orm.hibernate.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:607)
      2016-01-07 14:17:58.734554500 	at org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:518)
      2016-01-07 14:17:58.734554500 	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732)
      2016-01-07 14:17:58.734564500 	at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701)
      2016-01-07 14:17:58.734565500 	at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
      2016-01-07 14:17:58.734565500 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      2016-01-07 14:17:58.734573500 	at java.lang.reflect.Method.invoke(Method.java:497)
      2016-01-07 14:17:58.734573500 	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      2016-01-07 14:17:58.734574500 	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
      2016-01-07 14:17:58.734575500 	at com.sun.proxy.$Proxy16.commit(Unknown Source)
      2016-01-07 14:17:58.734575500 	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
      2016-01-07 14:17:58.734582500 	at com.atlassian.sal.spring.component.SpringHostContextAccessor.doInTransaction(SpringHostContextAccessor.java:68)
      2016-01-07 14:17:58.734583500 	at sun.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)
      2016-01-07 14:17:58.734583500 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      2016-01-07 14:17:58.734592500 	at java.lang.reflect.Method.invoke(Method.java:497)
      2016-01-07 14:17:58.734593500 	at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
      2016-01-07 14:17:58.734593500 	at com.sun.proxy.$Proxy253.doInTransaction(Unknown Source)
      2016-01-07 14:17:58.734594500 	at sun.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)
      2016-01-07 14:17:58.734602500 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      2016-01-07 14:17:58.734602500 	at java.lang.reflect.Method.invoke(Method.java:497)
      2016-01-07 14:17:58.734603500 	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136)
      2016-01-07 14:17:58.734604500 	at com.sun.proxy.$Proxy253.doInTransaction(Unknown Source)
      2016-01-07 14:17:58.734624500 	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:18)
      2016-01-07 14:17:58.734625500 	at sun.reflect.GeneratedMethodAccessor187.invoke(Unknown Source)
      2016-01-07 14:17:58.734625500 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      2016-01-07 14:17:58.734626500 	at java.lang.reflect.Method.invoke(Method.java:497)
      2016-01-07 14:17:58.734632500 	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
      2016-01-07 14:17:58.734641500 	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
      2016-01-07 14:17:58.734642500 	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
      2016-01-07 14:17:58.734643500 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      2016-01-07 14:17:58.734655500 	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
      2016-01-07 14:17:58.734656500 	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
      2016-01-07 14:17:58.734657500 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      2016-01-07 14:17:58.734673500 	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
      2016-01-07 14:17:58.734686500 	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
      2016-01-07 14:17:58.734697500 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      2016-01-07 14:17:58.734697500 	at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
      2016-01-07 14:17:58.734698500 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      2016-01-07 14:17:58.734705500 	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
      2016-01-07 14:17:58.734706500 	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
      2016-01-07 14:17:58.734707500 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      2016-01-07 14:17:58.734714500 	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
      2016-01-07 14:17:58.734715500 	at com.sun.proxy.$Proxy1629.execute(Unknown Source)
      2016-01-07 14:17:58.734716500 	at com.atlassian.confluence.plugins.conversion.impl.runnable.cloud.CloudConversionRunnable.storeTicketId(CloudConversionRunnable.java:531)
      2016-01-07 14:17:58.734717500 	at com.atlassian.confluence.plugins.conversion.impl.runnable.cloud.CloudConversionRunnable.doCloudTicketConversion(CloudConversionRunnable.java:450)
      2016-01-07 14:17:58.734725500 	at com.atlassian.confluence.plugins.conversion.impl.runnable.cloud.CloudConversionRunnable.run(CloudConversionRunnable.java:227)
      2016-01-07 14:17:58.734726500 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      2016-01-07 14:17:58.734727500 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      2016-01-07 14:17:58.734734500 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      2016-01-07 14:17:58.734734500 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      2016-01-07 14:17:58.734735500 	at java.lang.Thread.run(Thread.java:745)
      2016-01-07 14:17:58.734735500 Caused by: net.sf.hibernate.HibernateException: could not update: [com.atlassian.confluence.pages.Attachment#63407098]
      2016-01-07 14:17:58.734742500 	at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:693)
      2016-01-07 14:17:58.734743500 	at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:630)
      2016-01-07 14:17:58.734743500 	at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
      2016-01-07 14:17:58.734744500 	at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2476)
      2016-01-07 14:17:58.734752500 	at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2462)
      2016-01-07 14:17:58.734761500 	at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2420)
      2016-01-07 14:17:58.734762500 	at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2288)
      2016-01-07 14:17:58.734762500 	at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
      2016-01-07 14:17:58.734763500 	at org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:510)
      2016-01-07 14:17:58.734770500 	... 49 more
      2016-01-07 14:17:58.734770500 Caused by: net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for com.atlassian.confluence.pages.Attachment instance with identifier: 63407098
      2016-01-07 14:17:58.734772500 	at net.sf.hibernate.persister.AbstractEntityPersister.check(AbstractEntityPersister.java:513)
      2016-01-07 14:17:58.734782500 	at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:673)
      2016-01-07 14:17:58.734783500 	... 57 more
      
      ERROR [conversion-thread-cloud-0] [plugins.conversion.impl.TimeoutConversionRunnable] run Cannot convert. Execution error: 
      2016-01-07 14:17:58.734520500  -- url: /wiki/plugins/drag-and-drop/upload.action | traceId: 45c26a22191ebef2 | userName: dbiggs06 | referer: https:atlassian.net/wiki/pages/editpage.action?pageId=62588468 | action: upload
      2016-01-07 14:17:58.734521500 org.springframework.orm.hibernate.HibernateSystemException: could not update: [com.atlassian.confluence.pages.Attachment#63407098]; nested exception is net.sf.hibernate.HibernateException: could not update: [com.atlassian.confluence.pages.Attachment#63407098]
      2016-01-07 14:17:58.734544500 	at org.springframework.orm.hibernate.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:597)
      2016-01-07 14:17:58.734545500 	at org.springframework.orm.hibernate.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:607)
      2016-01-07 14:17:58.734554500 	at org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:518)
      2016-01-07 14:17:58.734554500 	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732)
      2016-01-07 14:17:58.734564500 	at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701)
      2016-01-07 14:17:58.734565500 	at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
      2016-01-07 14:17:58.734565500 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      2016-01-07 14:17:58.734573500 	at java.lang.reflect.Method.invoke(Method.java:497)
      2016-01-07 14:17:58.734573500 	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
      2016-01-07 14:17:58.734574500 	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
      2016-01-07 14:17:58.734575500 	at com.sun.proxy.$Proxy16.commit(Unknown Source)
      2016-01-07 14:17:58.734575500 	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
      2016-01-07 14:17:58.734582500 	at com.atlassian.sal.spring.component.SpringHostContextAccessor.doInTransaction(SpringHostContextAccessor.java:68)
      2016-01-07 14:17:58.734583500 	at sun.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)
      2016-01-07 14:17:58.734583500 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      2016-01-07 14:17:58.734592500 	at java.lang.reflect.Method.invoke(Method.java:497)
      2016-01-07 14:17:58.734593500 	at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
      2016-01-07 14:17:58.734593500 	at com.sun.proxy.$Proxy253.doInTransaction(Unknown Source)
      2016-01-07 14:17:58.734594500 	at sun.reflect.GeneratedMethodAccessor184.invoke(Unknown Source)
      2016-01-07 14:17:58.734602500 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      2016-01-07 14:17:58.734602500 	at java.lang.reflect.Method.invoke(Method.java:497)
      2016-01-07 14:17:58.734603500 	at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136)
      2016-01-07 14:17:58.734604500 	at com.sun.proxy.$Proxy253.doInTransaction(Unknown Source)
      2016-01-07 14:17:58.734624500 	at com.atlassian.sal.core.transaction.HostContextTransactionTemplate.execute(HostContextTransactionTemplate.java:18)
      2016-01-07 14:17:58.734625500 	at sun.reflect.GeneratedMethodAccessor187.invoke(Unknown Source)
      2016-01-07 14:17:58.734625500 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      2016-01-07 14:17:58.734626500 	at java.lang.reflect.Method.invoke(Method.java:497)
      2016-01-07 14:17:58.734632500 	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
      2016-01-07 14:17:58.734641500 	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
      2016-01-07 14:17:58.734642500 	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
      2016-01-07 14:17:58.734643500 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      2016-01-07 14:17:58.734655500 	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
      2016-01-07 14:17:58.734656500 	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
      2016-01-07 14:17:58.734657500 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      2016-01-07 14:17:58.734673500 	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
      2016-01-07 14:17:58.734686500 	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
      2016-01-07 14:17:58.734697500 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      2016-01-07 14:17:58.734697500 	at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
      2016-01-07 14:17:58.734698500 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      2016-01-07 14:17:58.734705500 	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
      2016-01-07 14:17:58.734706500 	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
      2016-01-07 14:17:58.734707500 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      2016-01-07 14:17:58.734714500 	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
      2016-01-07 14:17:58.734715500 	at com.sun.proxy.$Proxy1629.execute(Unknown Source)
      2016-01-07 14:17:58.734716500 	at com.atlassian.confluence.plugins.conversion.impl.runnable.cloud.CloudConversionRunnable.storeTicketId(CloudConversionRunnable.java:531)
      2016-01-07 14:17:58.734717500 	at com.atlassian.confluence.plugins.conversion.impl.runnable.cloud.CloudConversionRunnable.doCloudTicketConversion(CloudConversionRunnable.java:450)
      2016-01-07 14:17:58.734725500 	at com.atlassian.confluence.plugins.conversion.impl.runnable.cloud.CloudConversionRunnable.run(CloudConversionRunnable.java:227)
      2016-01-07 14:17:58.734726500 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      2016-01-07 14:17:58.734727500 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      2016-01-07 14:17:58.734734500 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      2016-01-07 14:17:58.734734500 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      2016-01-07 14:17:58.734735500 	at java.lang.Thread.run(Thread.java:745)
      2016-01-07 14:17:58.734735500 Caused by: net.sf.hibernate.HibernateException: could not update: [com.atlassian.confluence.pages.Attachment#63407098]
      2016-01-07 14:17:58.734742500 	at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:693)
      2016-01-07 14:17:58.734743500 	at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:630)
      2016-01-07 14:17:58.734743500 	at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
      2016-01-07 14:17:58.734744500 	at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2476)
      2016-01-07 14:17:58.734752500 	at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2462)
      2016-01-07 14:17:58.734761500 	at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2420)
      2016-01-07 14:17:58.734762500 	at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2288)
      2016-01-07 14:17:58.734762500 	at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
      2016-01-07 14:17:58.734763500 	at org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:510)
      2016-01-07 14:17:58.734770500 	... 49 more
      2016-01-07 14:17:58.734770500 Caused by: net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) for com.atlassian.confluence.pages.Attachment instance with identifier: 63407098
      2016-01-07 14:17:58.734772500 	at net.sf.hibernate.persister.AbstractEntityPersister.check(AbstractEntityPersister.java:513)
      2016-01-07 14:17:58.734782500 	at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:673)
      2016-01-07 14:17:58.734783500 	... 57 more
      

      Notes

      It seems during the draft there isn't enough time perform the copy>draft>conversion before the saving action is complete.

      Table Filter and Charts for Confluence

      This bug affects Table Filter and Charts for Confluence app. When doing page export, the Table Filter and Charts for Confluence app creates files for the page's macros output that will be used later. It attaches the file to the custom content entity. So when two different files are attached to the custom content entity at the same time it fails to attach one of them as described.
      The issue on Table Filter and Charts for Confluence can be identified by these logs:

      url: /confluence/rest/table-filter/1.0/service/export/multi-page | traceId: aaaaaaaaaaaaaaaa | userName: XX99999
      net.sf.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect) : [com.atlassian.confluence.content.CustomContentEntityObject#1111111111]
      

      There is nothing in the UI to identify the issue.

      Workaround

      If you wait a moment it will eventually save. Also you could potentially copy and save it to another space and move the copy back into the original source space.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jcastro Jose Castro (Inactive)
              Votes:
              16 Vote for this issue
              Watchers:
              26 Start watching this issue

              Dates

                Created:
                Updated: