Unable to export space with a lot of content

XMLWordPrintable

    • 2
    • Severity 3 - Minor

      Summary

      When there are a lot of content in the space, the space export fails because of a limit in the Postgres JDBC connector, which has a hard limit of 32767.

      Steps to Reproduce

      1. Having a space with a lot a data, try to export it to XML.

      Expected Results

      The export completes

      Actual Results

      The export fails.

      In the logs we see the following errors:

      org.springframework.dao.DataAccessResourceFailureException: could not extract ResultSet; nested exception is org.hibernate.exception.JDBCConnectionException: could not extract ResultSet at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:220) at org.springframework.orm.hibernate5.HibernateTemplate.doExecute(HibernateTemplate.java:366) at org.springframework.orm.hibernate5.HibernateTemplate.execute(HibernateTemplate.java:313) at com.atlassian.confluence.internal.relations.dao.hibernate.Content2ContentHibernateRelationDao.getAllRelationIdsForContentInSpace(Content2ContentHibernateRelationDao.java:143) at com.atlassian.confluence.importexport.impl.XmlExporterObjectHandleCollector.getContentToContentRelationsFromSpace(XmlExporterObjectHandleCollector.java:210) at com.atlassian.confluence.importexport.impl.XmlExporterObjectHandleCollector.addEntityHandlesFromSpace(XmlExporterObjectHandleCollector.java:130) at com.atlassian.confluence.importexport.impl.XmlExporterObjectHandleCollector.getObjectHandles(XmlExporterObjectHandleCollector.java:97) at com.atlassian.confluence.importexport.impl.XmlExporterObjectHandleCollector.getHandlesOfObjectsForExport(XmlExporterObjectHandleCollector.java:87) at com.atlassian.confluence.importexport.impl.XmlExporter.getHandlesOfObjectsForExport(XmlExporter.java:132) at com.atlassian.confluence.importexport.impl.AbstractXmlExporter.backupEntities(AbstractXmlExporter.java:170) at com.atlassian.confluence.importexport.impl.AbstractXmlExporter.backupEverything(AbstractXmlExporter.java:91) at com.atlassian.confluence.importexport.impl.FileXmlExporter.backupEverything(FileXmlExporter.java:140) at com.atlassian.confluence.importexport.impl.AbstractXmlExporter.doExport(AbstractXmlExporter.java:87) at com.atlassian.confluence.importexport.impl.FileXmlExporter.doExportToTarget(FileXmlExporter.java:126) at com.atlassian.confluence.importexport.impl.FileXmlExporter.doExportInternalWithZipService(FileXmlExporter.java:87) at com.atlassian.confluence.importexport.impl.FileXmlExporter.doExport(FileXmlExporter.java:70) at com.atlassian.confluence.importexport.impl.XmlExporter.doExport(XmlExporter.java:74) at com.atlassian.confluence.importexport.DefaultImportExportManager.doExport(DefaultImportExportManager.java:154) at com.atlassian.confluence.importexport.DefaultImportExportManager.exportAs(DefaultImportExportManager.java:121) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) at com.sun.proxy.$Proxy131.exportAs(Unknown Source) at com.atlassian.confluence.importexport.actions.ExportSpaceRunner.lambda$executeTask$3(ExportSpaceRunner.java:227) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) at com.atlassian.confluence.importexport.actions.ExportSpaceRunner.executeTask(ExportSpaceRunner.java:203) at com.atlassian.confluence.importexport.actions.ExportSpaceRunner.runExport(ExportSpaceRunner.java:128) at com.atlassian.confluence.importexport.actions.ExportSpaceRunner.lambda$runTask$1(ExportSpaceRunner.java:119) at cloud.atlassian.logmon.datadog.publisher.internal.TaggedFunctionalTimeRecorder.with(TaggedFunctionalTimeRecorder.java:30) at com.atlassian.confluence.importexport.actions.ExportSpaceRunner.runTask(ExportSpaceRunner.java:119) at com.atlassian.progress.amq.TaskProcessor.accept(TaskProcessor.java:63) at com.atlassian.progress.amq.TaskProcessor.accept(TaskProcessor.java:23) at com.atlassian.progress.amq.ConcurrencyControlTaskProcessor.accept(ConcurrencyControlTaskProcessor.java:68) at com.atlassian.progress.amq.ConcurrencyControlTaskProcessor.accept(ConcurrencyControlTaskProcessor.java:19) at com.atlassian.progress.amq.ProgressAwareMessageRunner.processMessage(ProgressAwareMessageRunner.java:55) at com.atlassian.confluence.impl.messagequeue.VCacheMessageRunner.lambda$processMessage$0(VCacheMessageRunner.java:21) at com.atlassian.confluence.vcache.VCacheRequestContextOperations.lambda$doInRequestContext$0(VCacheRequestContextOperations.java:49) at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContext(VCacheRequestContextManager.java:84) at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContext(VCacheRequestContextManager.java:74) at com.atlassian.confluence.vcache.VCacheRequestContextOperations.doInRequestContext(VCacheRequestContextOperations.java:48) at com.atlassian.confluence.impl.messagequeue.VCacheMessageRunner.processMessage(VCacheMessageRunner.java:20) at com.atlassian.confluence.util.zipkin.impl.ZipkinMessageRunner.processMessage(ZipkinMessageRunner.java:43) at com.atlassian.messagequeue.internal.core.NestedMessageConsumer.consume(NestedMessageConsumer.java:135) at com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.processReceiveMessageResult(SQSMessageConsumer.java:151) at com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.run(SQSMessageConsumer.java:95) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: org.hibernate.exception.JDBCConnectionException: could not extract ResultSet at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:115) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:79) at org.hibernate.loader.Loader.getResultSet(Loader.java:2123) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1911) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1887) at org.hibernate.loader.Loader.doQuery(Loader.java:932) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) at org.hibernate.loader.Loader.doList(Loader.java:2615) at org.hibernate.loader.Loader.doList(Loader.java:2598) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2430) at org.hibernate.loader.Loader.list(Loader.java:2425) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:502) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:371) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:216) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1458) at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1426) at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1398) at com.atlassian.confluence.internal.relations.dao.hibernate.Content2ContentHibernateRelationDao.lambda$getAllRelationIdsForContentInSpace$3(Content2ContentHibernateRelationDao.java:151) at org.springframework.orm.hibernate5.HibernateTemplate.doExecute(HibernateTemplate.java:359) ... 55 more Caused by: org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend. at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:327) at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:428) at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354) at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:169) at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:117) at sun.reflect.GeneratedMethodAccessor417.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.vibur.dbcp.proxy.AbstractInvocationHandler.targetInvoke(AbstractInvocationHandler.java:145) at org.vibur.dbcp.proxy.StatementInvocationHandler.newProxiedResultSet(StatementInvocationHandler.java:163) at org.vibur.dbcp.proxy.StatementInvocationHandler.doProcessExecute(StatementInvocationHandler.java:202) at org.vibur.dbcp.proxy.StatementInvocationHandler.on(StatementInvocationHandler.java:195) at com.atlassian.confluence.tenant.ConfluenceViburConnectionPoolProvider.lambda$null$5(ConfluenceViburConnectionPoolProvider.java:152) at org.vibur.dbcp.proxy.StatementInvocationHandler.processExecute(StatementInvocationHandler.java:137) at org.vibur.dbcp.proxy.StatementInvocationHandler.restrictedInvoke(StatementInvocationHandler.java:91) at org.vibur.dbcp.proxy.StatementInvocationHandler.restrictedInvoke(StatementInvocationHandler.java:41) at org.vibur.dbcp.proxy.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:81) at com.sun.proxy.$Proxy2781.executeQuery(Unknown Source) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:70) ... 72 more Caused by: java.io.IOException: Tried to send an out-of-range integer as a 2-byte value: 43026 at org.postgresql.core.PGStream.sendInteger2(PGStream.java:219) at org.postgresql.core.v3.QueryExecutorImpl.sendParse(QueryExecutorImpl.java:1467) at org.postgresql.core.v3.QueryExecutorImpl.sendOneQuery(QueryExecutorImpl.java:1778) at org.postgresql.core.v3.QueryExecutorImpl.sendQuery(QueryExecutorImpl.java:1354) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:292) ... 90 more
      
      org.postgresql.util.PSQLException: An I/O error occurred while sending to the backend. at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:327) at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:428) at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:354) at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:169) at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:117) at sun.reflect.GeneratedMethodAccessor417.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.vibur.dbcp.proxy.AbstractInvocationHandler.targetInvoke(AbstractInvocationHandler.java:145) at org.vibur.dbcp.proxy.StatementInvocationHandler.newProxiedResultSet(StatementInvocationHandler.java:163) at org.vibur.dbcp.proxy.StatementInvocationHandler.doProcessExecute(StatementInvocationHandler.java:202) at org.vibur.dbcp.proxy.StatementInvocationHandler.on(StatementInvocationHandler.java:195) at com.atlassian.confluence.tenant.ConfluenceViburConnectionPoolProvider.lambda$null$5(ConfluenceViburConnectionPoolProvider.java:152) at org.vibur.dbcp.proxy.StatementInvocationHandler.processExecute(StatementInvocationHandler.java:137) at org.vibur.dbcp.proxy.StatementInvocationHandler.restrictedInvoke(StatementInvocationHandler.java:91) at org.vibur.dbcp.proxy.StatementInvocationHandler.restrictedInvoke(StatementInvocationHandler.java:41) at org.vibur.dbcp.proxy.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:81) at com.sun.proxy.$Proxy2781.executeQuery(Unknown Source) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:70) at org.hibernate.loader.Loader.getResultSet(Loader.java:2123) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1911) at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1887) at org.hibernate.loader.Loader.doQuery(Loader.java:932) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:349) at org.hibernate.loader.Loader.doList(Loader.java:2615) at org.hibernate.loader.Loader.doList(Loader.java:2598) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2430) at org.hibernate.loader.Loader.list(Loader.java:2425) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:502) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:371) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:216) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1458) at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1426) at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1398) at com.atlassian.confluence.internal.relations.dao.hibernate.Content2ContentHibernateRelationDao.lambda$getAllRelationIdsForContentInSpace$3(Content2ContentHibernateRelationDao.java:151) at org.springframework.orm.hibernate5.HibernateTemplate.doExecute(HibernateTemplate.java:359) at org.springframework.orm.hibernate5.HibernateTemplate.execute(HibernateTemplate.java:313) at com.atlassian.confluence.internal.relations.dao.hibernate.Content2ContentHibernateRelationDao.getAllRelationIdsForContentInSpace(Content2ContentHibernateRelationDao.java:143) at com.atlassian.confluence.importexport.impl.XmlExporterObjectHandleCollector.getContentToContentRelationsFromSpace(XmlExporterObjectHandleCollector.java:210) at com.atlassian.confluence.importexport.impl.XmlExporterObjectHandleCollector.addEntityHandlesFromSpace(XmlExporterObjectHandleCollector.java:130) at com.atlassian.confluence.importexport.impl.XmlExporterObjectHandleCollector.getObjectHandles(XmlExporterObjectHandleCollector.java:97) at com.atlassian.confluence.importexport.impl.XmlExporterObjectHandleCollector.getHandlesOfObjectsForExport(XmlExporterObjectHandleCollector.java:87) at com.atlassian.confluence.importexport.impl.XmlExporter.getHandlesOfObjectsForExport(XmlExporter.java:132) at com.atlassian.confluence.importexport.impl.AbstractXmlExporter.backupEntities(AbstractXmlExporter.java:170) at com.atlassian.confluence.importexport.impl.AbstractXmlExporter.backupEverything(AbstractXmlExporter.java:91) at com.atlassian.confluence.importexport.impl.FileXmlExporter.backupEverything(FileXmlExporter.java:140) at com.atlassian.confluence.importexport.impl.AbstractXmlExporter.doExport(AbstractXmlExporter.java:87) at com.atlassian.confluence.importexport.impl.FileXmlExporter.doExportToTarget(FileXmlExporter.java:126) at com.atlassian.confluence.importexport.impl.FileXmlExporter.doExportInternalWithZipService(FileXmlExporter.java:87) at com.atlassian.confluence.importexport.impl.FileXmlExporter.doExport(FileXmlExporter.java:70) at com.atlassian.confluence.importexport.impl.XmlExporter.doExport(XmlExporter.java:74) at com.atlassian.confluence.importexport.DefaultImportExportManager.doExport(DefaultImportExportManager.java:154) at com.atlassian.confluence.importexport.DefaultImportExportManager.exportAs(DefaultImportExportManager.java:121) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) at com.sun.proxy.$Proxy131.exportAs(Unknown Source) at com.atlassian.confluence.importexport.actions.ExportSpaceRunner.lambda$executeTask$3(ExportSpaceRunner.java:227) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) at com.atlassian.confluence.importexport.actions.ExportSpaceRunner.executeTask(ExportSpaceRunner.java:203) at com.atlassian.confluence.importexport.actions.ExportSpaceRunner.runExport(ExportSpaceRunner.java:128) at com.atlassian.confluence.importexport.actions.ExportSpaceRunner.lambda$runTask$1(ExportSpaceRunner.java:119) at cloud.atlassian.logmon.datadog.publisher.internal.TaggedFunctionalTimeRecorder.with(TaggedFunctionalTimeRecorder.java:30) at com.atlassian.confluence.importexport.actions.ExportSpaceRunner.runTask(ExportSpaceRunner.java:119) at com.atlassian.progress.amq.TaskProcessor.accept(TaskProcessor.java:63) at com.atlassian.progress.amq.TaskProcessor.accept(TaskProcessor.java:23) at com.atlassian.progress.amq.ConcurrencyControlTaskProcessor.accept(ConcurrencyControlTaskProcessor.java:68) at com.atlassian.progress.amq.ConcurrencyControlTaskProcessor.accept(ConcurrencyControlTaskProcessor.java:19) at com.atlassian.progress.amq.ProgressAwareMessageRunner.processMessage(ProgressAwareMessageRunner.java:55) at com.atlassian.confluence.impl.messagequeue.VCacheMessageRunner.lambda$processMessage$0(VCacheMessageRunner.java:21) at com.atlassian.confluence.vcache.VCacheRequestContextOperations.lambda$doInRequestContext$0(VCacheRequestContextOperations.java:49) at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContext(VCacheRequestContextManager.java:84) at com.atlassian.confluence.impl.vcache.VCacheRequestContextManager.doInRequestContext(VCacheRequestContextManager.java:74) at com.atlassian.confluence.vcache.VCacheRequestContextOperations.doInRequestContext(VCacheRequestContextOperations.java:48) at com.atlassian.confluence.impl.messagequeue.VCacheMessageRunner.processMessage(VCacheMessageRunner.java:20) at com.atlassian.confluence.util.zipkin.impl.ZipkinMessageRunner.processMessage(ZipkinMessageRunner.java:43) at com.atlassian.messagequeue.internal.core.NestedMessageConsumer.consume(NestedMessageConsumer.java:135) at com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.processReceiveMessageResult(SQSMessageConsumer.java:151) at com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.run(SQSMessageConsumer.java:95) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.io.IOException: Tried to send an out-of-range integer as a 2-byte value: 43026 at org.postgresql.core.PGStream.sendInteger2(PGStream.java:219) at org.postgresql.core.v3.QueryExecutorImpl.sendParse(QueryExecutorImpl.java:1467) at org.postgresql.core.v3.QueryExecutorImpl.sendOneQuery(QueryExecutorImpl.java:1778) at org.postgresql.core.v3.QueryExecutorImpl.sendQuery(QueryExecutorImpl.java:1354) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:292) ... 90 more
      
      Caused by: java.io.IOException: Tried to send an out-of-range integer as a 2-byte value: 43026 at org.postgresql.core.PGStream.sendInteger2(PGStream.java:219) at org.postgresql.core.v3.QueryExecutorImpl.sendParse(QueryExecutorImpl.java:1467) at org.postgresql.core.v3.QueryExecutorImpl.sendOneQuery(QueryExecutorImpl.java:1778) at org.postgresql.core.v3.QueryExecutorImpl.sendQuery(
      

      Workaround

      You may be able to export the space if it is smaller.
      To reduce the size of the space you can empty its trash bin, deleted unneeded content or split the space into smaller spaces.
      To split the space into smaller ones you can create a temporary space, move pages from the original space to the temp space and try to export the spaces.
      When the export finishes you can import each of the split spaces and once the import is done you can move the pages back to the original space and delete the temp spaces.

            Assignee:
            Unassigned
            Reporter:
            Felipevsw (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: