Importing XML full backup fails with - A different object with the same identifier value
Asked by Leo F:

Running production Confluence version 5.10.3 and I made a full XML backup of that Confluence, now when I try to import it to the latest LTS version 7.13.0 I get the following error message:

```
ERROR [Long running task: Importing data] [confluence.importexport.xmlimport.DefaultImportProcessor] 
persist Error while saving object: Imported[bucket.user.propertyset.BucketPropertySetItem] 
[Property[type]=6, Property[booleanVal]=false, Property[doubleVal]=0.0, Property[stringVal]=, Property[textVal]=[0222111223]\\
[https://SOMEURL/]\\
[SOMETEXT] \\
[Protocol|ouitproductionprotocol:Home] \\ | [TEXT |http://SOMEURL/], Property[longVal]=0, Property[intVal]=0, Property[dateVal]=]
-- url: /setup/longrunningtaskxml.action | traceId: dd40ecfe8965af4e | userName: anonymous | action: longrunningtaskxml

...

at com.atlassian.confluence.importexport.xmlimport.DefaultXmlImporter.doImportInternal(DefaultXmlImporter.java:64)
at com.atlassian.confluence.importexport.xmlimport.DefaultXmlImporter.doImport(DefaultXmlImporter.java:42)
at com.atlassian.confluence.importexport.xmlimport.BackupImporter.importEntities(BackupImporter.java:399)
at com.atlassian.confluence.importexport.xmlimport.BackupImporter.importEverything(BackupImporter.java:368)
at com.atlassian.confluence.importexport.xmlimport.FileBackupImporter.importEverything(FileBackupImporter.java:169)
at com.atlassian.confluence.importexport.xmlimport.BackupImporter$1.doInTransactionWithoutResult(BackupImporter.java:260)
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:36)
at com.atlassian.confluence.importexport.xmlimport.RestorePluginStateStoreTransactionCallbackDecorator.doInTransaction(RestorePluginStateStoreTransactionCallbackDecorator.java:47)
at com.atlassian.confluence.importexport.xmlimport.RestoreBandanaValuesTransactionCallbackDecorator.doInTransaction(RestoreBandanaValuesTransactionCallbackDecorator.java:50)

...


Caused by: org.xml.sax.SAXException: Error while importing backup: A different object with the same identifier value was already associated with the session : [bucket.user.propertyset.BucketPropertySetItem#BucketPropertySetItem[entityId=852321,entityName=confluence_ContentEntityObject,key=metadata.SOMETEXT \\
```


Answers:
author: Leo F
body: Looks like I was able to solve it by searching for object with "BucketPropertySetItem" and id 852321. There were multiple same objects matching the id and the the property but I noticed small difference in the text of the each object so I removed the one that was exactly the same (with the same number of spaces and other symbols) as described in the error message. After that the import to the latest LTS version went fine, only thing I had to do afterwards is to fully reindex Confluence site and it started to work without any errors.


author: Sagar
body: Hi [@Leo F](/t5/user/viewprofilepage/user-id/4564432) I would suggest to follow the below path for your XML import.

You current version of Confluence is 5.10.3 which was released almost 5 years back 30-Jul-2016 and importing the XML backup from this version Confluence to latest version 7.13.0 will not work as every Confluence version has some changes in the database tables and schemes which are depends on the version you used.

Also, the most recommended way to import the XML backup is to have the same Confluence version both source and destination instances as both instances share the common database structure.

I would suggest to either upgrade your current production Confluence instance to 7.13.0 that also in the incremental manner like below :

5.10.3 to 6.13.x then

6.13.x to 7.13.x

This way database structure and scheme will be updated with respect to the Confluence version, then you can take a XML backup of Confluence to import the same to your newly setup Confluence instance which is running on 7.13.0

If upgrading the production version is tricky for you, then you can install the same version of Confluence instance 5.10.3 then take a XML backup from your current production instance and import the same to your newly created Confluence instance, Then upgrade the same in incremental manner as mentioned above.

This is the recommended approach used for migrating (One server to other or one database to another database) + upgrading your Confluence.

Let me know in case of any questions


Tags: confluence-server

server