-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Low
-
Component/s: Migrations - Space - Import
-
None
-
12
-
Severity 2 - Major
-
2
Issue Summary
Confluence import commits data at a space level granularity. For large spaces (>10 GB), the database connection closes before the transaction is committed causing the entire space import to fail.
Stacktrace:
com.atlassian.confluence.importexport.v2.ImportExportException: com.atlassian.confluence.importexport.v2.ImportExportException: org.springframework.transaction.TransactionSystemException: Could not commit Hibernate transaction; nested exception is net.sf.hibernate.TransactionException: Unable to commit against JDBC Connection com.atlassian.confluence.importexport.v2.space.ImportSpaceProcessor.processImport(ImportSpaceProcessor.java:156) com.atlassian.confluence.importexport.v2.space.ImportSpaceProcessor.processImport(ImportSpaceProcessor.java:67) com.atlassian.confluence.importexport.v2.ImportTaskRunner.processImport(ImportTaskRunner.java:141) com.atlassian.confluence.importexport.v2.ImportTaskRunner.lambda$runTaskInternal$0(ImportTaskRunner.java:103) com.atlassian.confluence.importexport.v2.ImportTaskRunner.withHeartbeat(ImportTaskRunner.java:92) com.atlassian.confluence.importexport.v2.ImportTaskRunner.lambda$runTaskInternal$1(ImportTaskRunner.java:104) com.atlassian.confluence.core.flags.ImportRunningThreadLocalFlag.executeCallable(ImportRunningThreadLocalFlag.java:32) com.atlassian.confluence.importexport.v2.ImportTaskRunner.withLocalFlag(ImportTaskRunner.java:98) com.atlassian.confluence.importexport.v2.ImportTaskRunner.lambda$runTaskInternal$2(ImportTaskRunner.java:105) com.atlassian.confluence.importexport.v2.ImportTaskRunner.withMetrics(ImportTaskRunner.java:69) com.atlassian.confluence.importexport.v2.ImportTaskRunner.runTaskInternal(ImportTaskRunner.java:106) com.atlassian.confluence.importexport.v2.space.ImportSpaceTaskRunner.runTask(ImportSpaceTaskRunner.java:49) com.atlassian.progress.amq.TaskProcessor.accept(TaskProcessor.java:63) com.atlassian.progress.amq.TaskProcessor.accept(TaskProcessor.java:23) com.atlassian.progress.amq.ConcurrencyControlTaskProcessor.accept(ConcurrencyControlTaskProcessor.java:68) com.atlassian.progress.amq.ConcurrencyControlTaskProcessor.accept(ConcurrencyControlTaskProcessor.java:19) com.atlassian.progress.amq.ProgressAwareMessageRunner.processMessage(ProgressAwareMessageRunner.java:55) com.atlassian.confluence.impl.messagequeue.VCacheMessageRunner.lambda$processMessage$0(VCacheMessageRunner.java:21) com.atlassian.confluence.vcache.VCacheRequestContextOperations.lambda$doInRequestContext$0(VCacheRequestContextOperations.java:49) com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContext(VCacheRequestContextManager.java:84) com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContext(VCacheRequestContextManager.java:74) com.atlassian.confluence.vcache.VCacheRequestContextOperations.doInRequestContext(VCacheRequestContextOperations.java:48) com.atlassian.confluence.impl.messagequeue.VCacheMessageRunner.processMessage(VCacheMessageRunner.java:20) com.atlassian.confluence.util.zipkin.impl.ZipkinMessageRunner.processMessage(ZipkinMessageRunner.java:31) com.atlassian.confluence.impl.messagequeue.AtlassianMessageQueueAppConfigWithScheduler.lambda$wrapMessageRunnerWithMetricsContext$1(AtlassianMessageQueueAppConfigWithScheduler.java:117) com.atlassian.messagequeue.internal.core.NestedMessageConsumer.consume(NestedMessageConsumer.java:113) com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.consumeMessage(SQSMessageConsumer.java:248) com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.processReceiveMessageResult(SQSMessageConsumer.java:198) com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.run(SQSMessageConsumer.java:123) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base/java.lang.Thread.run(Thread.java:829) Caused by: com.atlassian.confluence.importexport.v2.ImportExportException: org.springframework.transaction.TransactionSystemException: Could not commit Hibernate transaction; nested exception is net.sf.hibernate.TransactionException: Unable to commit against JDBC Connection com.atlassian.confluence.importexport.v2.ImportProcessor.runImportTransaction(ImportProcessor.java:212) com.atlassian.confluence.importexport.v2.space.ImportSpaceProcessor.lambda$processImport$1(ImportSpaceProcessor.java:132) com.atlassian.confluence.user.ConfluenceUserContextImpersonator$1.call(ConfluenceUserContextImpersonator.java:68) com.atlassian.confluence.user.ConfluenceUserContextImpersonator$2.call(ConfluenceUserContextImpersonator.java:86) com.atlassian.confluence.user.ConfluenceUserContextImpersonator.asUser(ConfluenceUserContextImpersonator.java:44) com.atlassian.confluence.importexport.v2.space.ImportSpaceProcessor.processImport(ImportSpaceProcessor.java:131) ... 31 more Caused by: org.springframework.transaction.TransactionSystemException: Could not commit Hibernate transaction; nested exception is net.sf.hibernate.TransactionException: Unable to commit against JDBC Connection org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:514) com.atlassian.confluence.impl.hibernate.ConfluenceHibernateTransactionManager.doCommit(ConfluenceHibernateTransactionManager.java:58) org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743) org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) jdk.internal.reflect.GeneratedMethodAccessor97.invoke(Unknown Source) java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.base/java.lang.reflect.Method.invoke(Method.java:566) org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:205) com.sun.proxy.$Proxy74.commit(Unknown Source) org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:152) com.atlassian.confluence.importexport.v2.ImportProcessor.runImportTransaction(ImportProcessor.java:166) ... 36 more Caused by: net.sf.hibernate.TransactionException: Unable to commit against JDBC Connection org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.commit(AbstractLogicalConnectionImplementor.java:87) org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:272) org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:104) com.atlassian.hibernate.adapter.adapters.TransactionV2Adapter.commit(TransactionV2Adapter.java:30) org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:510) ... 47 more Caused by: org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend. org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:350) org.postgresql.jdbc.PgConnection.executeTransactionCommand(PgConnection.java:849) org.postgresql.jdbc.PgConnection.commit(PgConnection.java:871) com.atlassian.confluence.impl.startup.IllegalDBAccessLoggingDriver$LoggingConnection.commit(IllegalDBAccessLoggingDriver.java:136) jdk.internal.reflect.GeneratedMethodAccessor417.invoke(Unknown Source) java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.base/java.lang.reflect.Method.invoke(Method.java:566) org.vibur.dbcp.proxy.AbstractInvocationHandler.targetInvoke(AbstractInvocationHandler.java:153) org.vibur.dbcp.proxy.AbstractInvocationHandler.restrictedInvoke(AbstractInvocationHandler.java:148) org.vibur.dbcp.proxy.ConnectionInvocationHandler.restrictedInvoke(ConnectionInvocationHandler.java:103) org.vibur.dbcp.proxy.ConnectionInvocationHandler.restrictedInvoke(ConnectionInvocationHandler.java:37) org.vibur.dbcp.proxy.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:83) com.sun.proxy.$Proxy3044.commit(Unknown Source) jdk.internal.reflect.GeneratedMethodAccessor417.invoke(Unknown Source) java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.base/java.lang.reflect.Method.invoke(Method.java:566) com.atlassian.workcontext.api.WorkContextBound$SeverableInvocationHandler.invoke(WorkContextBound.java:62) com.sun.proxy.$Proxy3050.commit(Unknown Source) jdk.internal.reflect.GeneratedMethodAccessor417.invoke(Unknown Source) java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.base/java.lang.reflect.Method.invoke(Method.java:566) com.atlassian.connpool.impl.ConnectionProxy.invoke(ConnectionProxy.java:66) com.sun.proxy.$Proxy3044.commit(Unknown Source) org.hibernate.resource.jdbc.internal.AbstractLogicalConnectionImplementor.commit(AbstractLogicalConnectionImplementor.java:81) ... 51 more Caused by: java.net.SocketTimeoutException: Read timed out java.base/java.net.SocketInputStream.socketRead0(Native Method) java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115) java.base/java.net.SocketInputStream.read(SocketInputStream.java:168) java.base/java.net.SocketInputStream.read(SocketInputStream.java:140) org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:161) org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:128) org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:113) org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:73) org.postgresql.core.PGStream.receiveChar(PGStream.java:443) org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2057) org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:323) ... 74 more
Steps to Reproduce
Import a space for which the XML is larger than 10GB.
Expected Results
The space is imported successfully
Actual Results
The space import fails due to the database connection closing prematurely
Workaround
None
- mentioned in
-
Page Loading...