Uploaded image for project: 'Advanced Roadmaps'
  1. Advanced Roadmaps
  2. JPOSERVER-1922

Restoring JIRA Cloud to Server generating an java.sql.SQLSyntaxErrorException: ORA-00972: identifier is too long

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • None
    • None
    • Resources

      Summary

      Restoring JIRA Cloud to Server generating an java.sql.SQLSyntaxErrorException: ORA-00972: identifier is too long

      Environment

      • Migrating JIRA Cloud to Server
      • JIRA Cloud instance was using Portfolio
      • JIRA Server is connected to an Oracle database

      Steps to Reproduce

      1. Generate a Cloud backup of a JIRA instance with Portfolio
      2. Restore this XML backup to a current JIRA Server 7.3.6

      Expected Results

      Backup restores as expected

      Actual Results

      Restoration reached 90% before generating this ORA-00972 error:

      2017-05-22 23:27:11,455 JiraImportTaskExecutionThread-1 INFO sysadmin 1318x155x1 1f5k3vc 10.21.38.230 /secure/admin/XmlRestore.jspa [c.a.j.bc.dataimport.DefaultDataImportService] Importing data is 89% complete...
      2017-05-22 23:28:03,817 JiraImportTaskExecutionThread-1 INFO sysadmin 1318x155x1 1f5k3vc 10.21.38.230 /secure/admin/XmlRestore.jspa [c.a.j.bc.dataimport.DefaultDataImportService] Importing data is 90% complete...
      2017-05-22 23:28:39,074 JiraImportTaskExecutionThread-1 INFO sysadmin 1318x155x1 1f5k3vc 10.21.38.230 /secure/admin/XmlRestore.jspa [c.a.j.bc.dataimport.DefaultDataImportService] Finished storing Generic Values.
      2017-05-22 23:28:39,169 JiraImportTaskExecutionThread-1 DEBUG sysadmin 1318x155x1 1f5k3vc 10.21.38.230 /secure/admin/XmlRestore.jspa [c.a.activeobjects.osgi.ActiveObjectsServiceFactory] startCleaning
      2017-05-22 23:28:39,240 JiraImportTaskExecutionThread-1 DEBUG sysadmin 1318x155x1 1f5k3vc 10.21.38.230 /secure/admin/XmlRestore.jspa [c.a.activeobjects.osgi.ActiveObjectsServiceFactory] stopCleaning
      2017-05-22 23:29:11,467 JiraImportTaskExecutionThread-1 ERROR sysadmin 1318x155x1 1f5k3vc 10.21.38.230 /secure/admin/XmlRestore.jspa [c.a.j.bc.dataimport.DefaultDataImportService] Error during ActiveObjects restore
      com.atlassian.activeobjects.spi.ActiveObjectsImportExportException: There was an error during import/export with <unknown plugin> (table AO_D9132D_SCENARIO_TEAM_EXCLUDED_SPRINTS):Error executing update for SQL statement 'ALTER TABLE "AO_D9132D_SCENARIO_TEAM_EXCLUDED_SPRINTS" DISABLE ALL TRIGGERS'
      	at com.atlassian.activeobjects.backup.ImportExportErrorServiceImpl.newImportExportSqlException(ImportExportErrorServiceImpl.java:26)
      	at com.atlassian.activeobjects.backup.SqlUtils.onSqlException(SqlUtils.java:46)
      	at com.atlassian.activeobjects.backup.SqlUtils.executeUpdate(SqlUtils.java:37)
      	at com.atlassian.activeobjects.backup.SqlUtils.executeUpdate(SqlUtils.java:53)
      	at com.atlassian.activeobjects.backup.OracleSequencesAroundImporter.disableAllTriggers(OracleSequencesAroundImporter.java:75)
      	at com.atlassian.activeobjects.backup.OracleSequencesAroundImporter.doBefore(OracleSequencesAroundImporter.java:60)
      	at com.atlassian.activeobjects.backup.OracleSequencesAroundImporter.before(OracleSequencesAroundImporter.java:43)
      	at com.atlassian.dbexporter.importer.AbstractImporter.importNode(AbstractImporter.java:41)
      	at com.atlassian.dbexporter.DbImporter.importData(DbImporter.java:69)
      	at com.atlassian.activeobjects.backup.ActiveObjectsBackup.restore(ActiveObjectsBackup.java:151)
      	at com.atlassian.jira.bc.dataimport.DefaultDataImportService.restoreActiveObjects(DefaultDataImportService.java:583)
      	at com.atlassian.jira.bc.dataimport.DefaultDataImportService.performImport(DefaultDataImportService.java:757)
      	at com.atlassian.jira.bc.dataimport.DefaultDataImportService.doImport(DefaultDataImportService.java:331)
      	at com.atlassian.jira.web.action.setup.DataImportAsyncCommand.call(DataImportAsyncCommand.java:60)
      	at com.atlassian.jira.web.action.setup.DataImportAsyncCommand.call(DataImportAsyncCommand.java:28)
      	at com.atlassian.jira.task.ImportTaskManagerImpl$TaskCallableDecorator.call(ImportTaskManagerImpl.java:157)
      	at com.atlassian.jira.task.ImportTaskManagerImpl$TaskCallableDecorator.call(ImportTaskManagerImpl.java:133)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	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.sql.SQLSyntaxErrorException: ORA-00972: identifier is too long
      

      Notes

      • It appears that this error is cause by Portfolio creating a table name that is too long to be valid in an Oracle database.
      • This is a similar error to the JSD bug JSDSERVER-4438
      • Oracle documentation on table name / object name limitations: Schema Object Names and Qualifiers

      Workaround

      • Create a Postgres database for JIRA server to use and import the Cloud backup to that instance instead.

              Unassigned Unassigned
              aheinzer Andy Heinzer
              Archiver:
              atibrewal@atlassian.com Aakrity Tibrewal

                Created:
                Updated:
                Resolved:
                Archived: