Uploaded image for project: 'Confluence Server'
  1. Confluence Server
  2. CONFSERVER-36588

XML Space import failed in Oracle databases

    Details

      Description

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

      Steps to Reproduce:
      1. Install Confluence 5.7 with any databases (e.g. Postgres, HSQL)
      2. Create a space.
      3. Export the Space.
      4. Install another Confluence 5.7 with Oracle database.
      5. Import the space.
      Expected Behavior:

      Should be able to import the Space Backup.

      Actual Behavior:

      Import failed. Check your server logs for more information. com.atlassian.confluence.importexport.ImportExportException: Unable to complete import because the data does not match the constraints in the Confluence schema. Cause: SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (CONF57.CP_UNIQUE_USER_GROUPS) violated 
      

      Following appears in the log:

      
      
      2015-02-19 13:21:15,725 ERROR [Long running task: Importing data] [confluence.importexport.actions.ImportLongRunningTask] runInternal Failure during import
      -- referer: http://10.60.4.82:8090/admin/backup.action | url: /admin/restore.action | userName: admin | action: restore
      com.atlassian.confluence.importexport.ImportExportException: com.atlassian.confluence.importexport.ImportExportException: Unable to complete import because the data does not match the constraints in the Confluence schema. Cause: SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (CONF57.CP_UNIQUE_USER_GROUPS) violated
      
      at com.atlassian.confluence.importexport.xmlimport.BackupImporter.importEntities(BackupImporter.java:430)
      at com.atlassian.confluence.importexport.xmlimport.BackupImporter.importEverything(BackupImporter.java:388)
      at com.atlassian.confluence.importexport.xmlimport.FileBackupImporter.importEverything(FileBackupImporter.java:150)
      at com.atlassian.confluence.importexport.xmlimport.BackupImporter$1.doInTransactionWithoutResult(BackupImporter.java:259)
      at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
      at com.atlassian.confluence.importexport.xmlimport.RestorePluginStateStoreTransactionCallbackDecorator.doInTransaction(RestorePluginStateStoreTransactionCallbackDecorator.java:50)
      at com.atlassian.confluence.importexport.xmlimport.RestoreBandanaValuesTransactionCallbackDecorator.doInTransaction(RestoreBandanaValuesTransactionCallbackDecorator.java:50)
      at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
      at com.atlassian.confluence.importexport.xmlimport.BackupImporter.doImportInternal(BackupImporter.java:211)
      at com.atlassian.confluence.importexport.Importer.doImport(Importer.java:77)
      ...
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
      Caused by: com.atlassian.confluence.importexport.ImportExportException: Unable to complete import because the data does not match the constraints in the Confluence schema. Cause: SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (CONF57.CP_UNIQUE_USER_GROUPS) violated
      
      at com.atlassian.confluence.importexport.xmlimport.DefaultXmlImporter.doImport(DefaultXmlImporter.java:73)
      at com.atlassian.confluence.importexport.xmlimport.BackupImporter.importEntities(BackupImporter.java:420)
      ... 30 more
      Caused by: org.xml.sax.SAXException: Error while importing backup: Could not execute JDBC batch update
      net.sf.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
      at com.atlassian.confluence.importexport.xmlimport.parser.BackupParser.endElement(BackupParser.java:55)
      at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
      at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
      at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
      at com.atlassian.security.xml.RestrictedXMLReader.parse(RestrictedXMLReader.java:103)
      at com.atlassian.confluence.importexport.xmlimport.DefaultXmlImporter.parseBackup(DefaultXmlImporter.java:110)
      at com.atlassian.confluence.importexport.xmlimport.DefaultXmlImporter.doImport(DefaultXmlImporter.java:61)
      ... 31 more
      Caused by: net.sf.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
      at net.sf.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:73)
      at net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
      at net.sf.hibernate.impl.BatcherImpl.convert(BatcherImpl.java:328)
      at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:135)
      at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2465)
      at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2419)
      at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2288)
      at com.atlassian.confluence.importexport.xmlimport.ImportProcessorContext.flushIfNeeded(ImportProcessorContext.java:246)
      at com.atlassian.confluence.importexport.xmlimport.ImportProcessorContext.objectImported(ImportProcessorContext.java:81)
      at com.atlassian.confluence.importexport.xmlimport.DefaultImportProcessor.persist(DefaultImportProcessor.java:50)
      at com.atlassian.confluence.importexport.xmlimport.DefaultImportProcessor.processObject(DefaultImportProcessor.java:37)
      at com.atlassian.confluence.importexport.xmlimport.parser.BackupParser.endElement(BackupParser.java:51)
      ... 43 more
      Caused by: java.sql.BatchUpdateException: ORA-00001: unique constraint (CONF57.CP_UNIQUE_USER_GROUPS) violated
      
      at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10500)
      at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:230)
      at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
      at net.sf.hibernate.impl.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:54)
      at net.sf.hibernate.impl.BatcherImpl.executeBatch(BatcherImpl.java:128)
      ... 51 more
      caused by:
      java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (CONF57.CP_UNIQUE_USER_GROUPS) violated
      
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
      at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
      at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
      at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
      at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
      at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
      at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1046)
      at oracle.jdbc.driver.OraclePreparedStatement.executeForRowsWithTimeout(OraclePreparedStatement.java:10298)
      at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10404)
      at oracle.jdbc.driver.OracleStatementWrapper.executeBatch(OracleStatementWrapper.java:230)
      ....
      

      Workaround

      1. Delete any previously failed, half-imported space.
      2. Shut down Confluence.
      3. Run the following query in database:
        alter table
        CONTENT_PERM
        DISABLE constraint
        CP_UNIQUE_USER_GROUPS;
        
      4. Start Confluence.
      5. Import Space.
      6. Shut down Confluence again.
      7. Run the following query in database:
        alter table
        CONTENT_PERM
        ENABLE constraint
        CP_UNIQUE_USER_GROUPS;
        

        Please backup your database before running the above query.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Last commented:
                  23 weeks, 1 day ago