Content & Attachment missing in Migration

Hi @tmortagne

I have migrated a space from confluence. After successful conversion, the page content(including attachment) is missing.

Please check below screenshot

image

Steps followed:

  1. Exported the confluence xml by following this Link
  2. Selected Custom Export option with included comments. Hence i got an zip file.
  3. Provided the below configuration in Filter Stream Converter,

Input Configuration

image

Output Configuration
image

Version
XWiki: 9.8.1
Confluence XML(Extension): 9.0.3

Is that am missing something in configuration?

@tmortagne

  1. After checking this forum. Upgraded the Confluence XML version to 9.1.

  2. Deleted the previously imported space.

  3. Restarted the Apache Server.

  4. Provided the configuration as previous case, left blank for BASE URLS

  5. Started to conversion, after few minutes conversion was failed and displayed below exception,
    image

Exception Detail
null id in com.xpn.xwiki.doc.XWikiDeletedDocument entry (don’t flush the Session after an exception occurs)
class org.hibernate.AssertionFailure: null id in com.xpn.xwiki.doc.XWikiDeletedDocument entry (don’t flush the Session after an exception occurs)
at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:82)
at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:190)
at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:147)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133)
at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernateBaseStore.java:1048)
at com.xpn.xwiki.store.XWikiHibernateBaseStore.execute(XWikiHibernateBaseStore.java:1345)
at com.xpn.xwiki.store.XWikiHibernateBaseStore.executeWrite(XWikiHibernateBaseStore.java:1447)
at com.xpn.xwiki.store.XWikiHibernateRecycleBinStore.saveToRecycleBin(XWikiHibernateRecycleBinStore.java:255)
at com.xpn.xwiki.store.XWikiHibernateRecycleBinStore.saveToRecycleBin(XWikiHibernateRecycleBinStore.java:246)
at com.xpn.xwiki.internal.filter.output.DocumentInstanceOutputFilterStream.maybeSaveDocument(DocumentInstanceOutputFilterStream.java:208)
at com.xpn.xwiki.internal.filter.output.DocumentInstanceOutputFilterStream.endWikiDocumentRevision(DocumentInstanceOutputFilterStream.java:173)
at sun.reflect.GeneratedMethodAccessor471.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.xwiki.filter.internal.FilterProxy.invoke(FilterProxy.java:90)
at org.xwiki.filter.internal.CompositeFilter.invoke(CompositeFilter.java:75)
at com.sun.proxy.$Proxy89.endWikiDocumentRevision(Unknown Source)
at sun.reflect.GeneratedMethodAccessor471.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.xwiki.filter.internal.FilterProxy.invoke(FilterProxy.java:90)
at org.xwiki.filter.internal.CompositeFilter.invoke(CompositeFilter.java:75)
at com.sun.proxy.$Proxy90.endWikiDocumentRevision(Unknown Source)
at sun.reflect.GeneratedMethodAccessor471.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.xwiki.filter.internal.FilterProxy.invoke(FilterProxy.java:90)
at org.xwiki.filter.internal.FilterProxy.invoke(FilterProxy.java:63)
at com.sun.proxy.$Proxy91.endWikiDocumentRevision(Unknown Source)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readPageRevision(ConfluenceInputFilterStream.java:496)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readPageRevision(ConfluenceInputFilterStream.java:367)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readPage(ConfluenceInputFilterStream.java:340)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:258)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:64)
at org.xwiki.filter.input.AbstractBeanInputFilterStream.read(AbstractBeanInputFilterStream.java:79)
at org.xwiki.filter.internal.job.FilterStreamConverterJob.runInternal(FilterStreamConverterJob.java:100)
at org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:206)
at org.xwiki.job.AbstractJob.run(AbstractJob.java:189)
at org.xwiki.filter.script.internal.ScriptFilterStreamConverterJob.run(ScriptFilterStreamConverterJob.java:75)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
null id in com.xpn.xwiki.doc.XWikiDeletedDocument entry (don’t flush the Session after an exception occurs)
class org.hibernate.AssertionFailure: null id in com.xpn.xwiki.doc.XWikiDeletedDocument entry (don’t flush the Session after an exception occurs)
at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:82)
at org.hibernate.event.def.DefaultFlushEntityEventListener.getValues(DefaultFlushEntityEventListener.java:190)
at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:147)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219)
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133)
at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernateBaseStore.java:1048)
at com.xpn.xwiki.store.XWikiHibernateBaseStore.execute(XWikiHibernateBaseStore.java:1345)
at com.xpn.xwiki.store.XWikiHibernateBaseStore.executeWrite(XWikiHibernateBaseStore.java:1447)
at com.xpn.xwiki.store.XWikiHibernateRecycleBinStore.saveToRecycleBin(XWikiHibernateRecycleBinStore.java:255)
at com.xpn.xwiki.store.XWikiHibernateRecycleBinStore.saveToRecycleBin(XWikiHibernateRecycleBinStore.java:246)
at com.xpn.xwiki.internal.filter.output.DocumentInstanceOutputFilterStream.maybeSaveDocument(DocumentInstanceOutputFilterStream.java:208)
at com.xpn.xwiki.internal.filter.output.DocumentInstanceOutputFilterStream.endWikiDocumentRevision(DocumentInstanceOutputFilterStream.java:173)
at sun.reflect.GeneratedMethodAccessor471.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.xwiki.filter.internal.FilterProxy.invoke(FilterProxy.java:90)
at org.xwiki.filter.internal.CompositeFilter.invoke(CompositeFilter.java:75)
at com.sun.proxy.$Proxy89.endWikiDocumentRevision(Unknown Source)
at sun.reflect.GeneratedMethodAccessor471.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.xwiki.filter.internal.FilterProxy.invoke(FilterProxy.java:90)
at org.xwiki.filter.internal.CompositeFilter.invoke(CompositeFilter.java:75)
at com.sun.proxy.$Proxy90.endWikiDocumentRevision(Unknown Source)
at sun.reflect.GeneratedMethodAccessor471.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.xwiki.filter.internal.FilterProxy.invoke(FilterProxy.java:90)
at org.xwiki.filter.internal.FilterProxy.invoke(FilterProxy.java:63)
at com.sun.proxy.$Proxy91.endWikiDocumentRevision(Unknown Source)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readPageRevision(ConfluenceInputFilterStream.java:496)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readPageRevision(ConfluenceInputFilterStream.java:367)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.readPage(ConfluenceInputFilterStream.java:340)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:258)
at org.xwiki.contrib.confluence.filter.internal.input.ConfluenceInputFilterStream.read(ConfluenceInputFilterStream.java:64)
at org.xwiki.filter.input.AbstractBeanInputFilterStream.read(AbstractBeanInputFilterStream.java:79)
at org.xwiki.filter.internal.job.FilterStreamConverterJob.runInternal(FilterStreamConverterJob.java:100)
at org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:206)
at org.xwiki.job.AbstractJob.run(AbstractJob.java:189)
at org.xwiki.filter.script.internal.ScriptFilterStreamConverterJob.run(ScriptFilterStreamConverterJob.java:75)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Java heap space
class java.lang.OutOfMemoryError: Java heap space
at java.lang.AbstractStringBuilder.(Unknown Source)
at java.lang.StringBuffer.(Unknown Source)
at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4437)
at com.mysql.jdbc.PreparedStatement.setCharacterStream(PreparedStatement.java:3499)
at org.apache.commons.dbcp2.DelegatingPreparedStatement.setCharacterStream(DelegatingPreparedStatement.java:211)
at org.apache.commons.dbcp2.DelegatingPreparedStatement.setCharacterStream(DelegatingPreparedStatement.java:211)
at org.hibernate.type.descriptor.sql.ClobTypeDescriptor$3$1.doBind(ClobTypeDescriptor.java:84)
at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:91)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:283)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:278)
at org.hibernate.type.AbstractSingleColumnStandardBasicType.nullSafeSet(AbstractSingleColumnStandardBasicType.java:89)
at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2184)
at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2161)
at org.hibernate.persister.entity.AbstractEntityPersister$4.bindValues(AbstractEntityPersister.java:2339)
at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:56)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2345)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2852)
at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:320)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:203)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:129)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:713)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:701)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:697)
at com.xpn.xwiki.store.XWikiHibernateRecycleBinStore$1.doInHibernate(XWikiHibernateRecycleBinStore.java:265)
at com.xpn.xwiki.store.XWikiHibernateRecycleBinStore$1.doInHibernate(XWikiHibernateRecycleBinStore.java:256)

This error does not have much to do with the Confluence module. For some reason the delete of the existing document has failed before importing the one coming from Confluence package (actually what exactly failed is storing it in the recycle bin).

As for the first issue you had the best would be to create an issue on https://jira.xwiki.org/browse/CONFLUENCE with steps and package to reproduce it. Confluence export format changes from time to time and they don’t care much about retro compatibility (not much documentation either) so maybe you have a version which is a bit different from the ones I tested.

@tmortagne

I have tested it with the confluence hosted in cloud.

And the version is,

Confluence 1000.2177.0

@tmortagne

Can you please elaborate on this? I mean is there is any fix to overcome this failure?

Not really, I have no idea why you get this and I can’t reproduce it.

@tmortagne

Okay thanks i have fixed it by disabling recyle bin.

Confluence provides two types of export option,

  1. Full Export(Includes comments & attachments)
  2. Custom Export(Includes comments)

From my part, custom export is successfully migrated.

But While i make Full Export, i provides below error

image

Reason for checking full export option, is that it includes attachments where as in custom export, it does not include attachments.

For example(custom export)

Am attaching word document to a page in confluence.
After attach it will generate a download link.
Migrating page to XWiki.
XWiki displays the download link. Not the attachment.

And download requires Atlassian credentials.

Can i know what causing this error??

Looks like a bug.

The best would be to create an issue on https://jira.xwiki.org/browse/CONFLUENCE with the confluence package to reproduce it.

@tmortagne

Thanks, I have created an issue. here is the link,

https://jira.xwiki.org/browse/CONFLUENCE-23

Thanks I will take a look and comment what I find on the jira issue.