Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-45390

Importing data from Cloud fails with IllegalArgumentException

    XMLWordPrintable

Details

    Description

      Summary

      When restoring a backup from JIRA Cloud to JIRA Server the import fails and the user is requested to import the backup again.

      Environment

      Migrating from JIRA Cloud to JIRA Server

      Steps to Reproduce

      1. Export a backup from a JIRA Cloud instance where none of the avatars are .svg files.
      2. Install JIRA Server 6.4.11.
      3. Try to import a backup from Cloud (tested on 7.0.0-OD-02-247) into JIRA Server.

      Expected Results

      The backup would be imported with no problems.

      Actual Results

      The import fails and the user is prompted to re-import the data. The below exception is thrown in the atlassian-jira.log file:

      2015-09-12 04:08:18,224 JiraImportTaskExecutionThread-1 DEBUG roshan 247x213x1 stpbzd 10.148.71.82 /secure/admin/XmlRestore.jspa [mysema.query.sql.AbstractSQLQuery] query : select AVATAR.id
      from avatar AVATAR
      where AVATAR.avatartype = ? and AVATAR.systemavatar = ? and AVATAR.filename in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
      2015-09-12 04:08:18,232 JiraImportTaskExecutionThread-1 DEBUG roshan 247x213x1 stpbzd 10.148.71.82 /secure/admin/XmlRestore.jspa [query.sql.dml.SQLInsertClause] update project
      set avatar = ?
      where project.avatar in ()
      2015-09-12 04:08:18,250 JiraImportTaskExecutionThread-1 ERROR roshan 247x213x1 stpbzd 10.148.71.82 /secure/admin/XmlRestore.jspa [jira.bc.dataimport.DefaultDataImportService] Error importing data: java.lang.IllegalArgumentException: Expected 1 paths, but got 2
      java.lang.IllegalArgumentException: Expected 1 paths, but got 2
              at com.mysema.query.sql.dml.AbstractSQLClause.setParameters(AbstractSQLClause.java:102)
              at com.mysema.query.sql.dml.SQLUpdateClause.createStatement(SQLUpdateClause.java:113)
              at com.mysema.query.sql.dml.SQLUpdateClause.execute(SQLUpdateClause.java:154)
              at com.atlassian.jira.upgrade.tasks.DowngradeTask_Build70024$2.run(DowngradeTask_Build70024.java:188)
              at com.atlassian.jira.database.DbConnectionManagerImpl.execute(DbConnectionManagerImpl.java:122)
              at com.atlassian.jira.upgrade.tasks.DowngradeTask_Build70024.downgradeProjectIcons(DowngradeTask_Build70024.java:139)
              at com.atlassian.jira.upgrade.tasks.DowngradeTask_Build70024.downgrade(DowngradeTask_Build70024.java:103)
              at com.atlassian.jira.bc.dataimport.DowngradeWorker.runDowngradeTask(DowngradeWorker.java:158)
              at com.atlassian.jira.bc.dataimport.DowngradeWorker.downgrade(DowngradeWorker.java:94)
              at com.atlassian.jira.bc.dataimport.DefaultDataImportService.executeDowngradeTasks(DefaultDataImportService.java:860)
              at com.atlassian.jira.bc.dataimport.DefaultDataImportService.performImport(DefaultDataImportService.java:782)
              at com.atlassian.jira.bc.dataimport.DefaultDataImportService.doImport(DefaultDataImportService.java:332)
              at com.atlassian.jira.web.action.setup.DataImportAsyncCommand.call(DataImportAsyncCommand.java:65)
              at com.atlassian.jira.web.action.setup.DataImportAsyncCommand.call(DataImportAsyncCommand.java:28)
              at com.atlassian.jira.task.ImportTaskManagerImpl$TaskCallableDecorator.call(ImportTaskManagerImpl.java:177)
              at com.atlassian.jira.task.ImportTaskManagerImpl$TaskCallableDecorator.call(ImportTaskManagerImpl.java:148)
              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)
      

      Notes

      Please see internal notes for data to reproduce the problem and further investigation.

      Workaround

      1. Extract the backup zip file;
      2. Edit the entities.xml file;
      3. Search for an entry of 'rocket.png'. It should look like the following:
            <Avatar id="XXXXX" fileName="rocket.png" contentType="image/png" avatarType="project" systemAvatar="1"/>
        
      4. Change it to:
            <Avatar id="XXXXX" fileName="default.svg" contentType="image/png" avatarType="project" systemAvatar="1"/>
        
      5. Save the file;
      6. Zip the entities.xml and activeobjects.xml files again;
      7. And try to restore the backup.
        Make sure to provide a license key so you won't be affected by JRA-45187.

      Attachments

        Issue Links

          Activity

            People

              ohernandez@atlassian.com Oswaldo Hernandez (Inactive)
              mfernandes@atlassian.com Matheus Fernandes
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: