Uploaded image for project: 'Jira Service Management Cloud'
  1. Jira Service Management Cloud
  2. JSDCLOUD-5328

SD upgrade task is causing failure in import to JIRA Cloud from Server

XMLWordPrintable

      Summary

      There were some cases were customers were trying to import from JIRA Server with Service Desk installed to a JIRA Cloud without Service Desk and an error to upgrade would occur (may happened even if Cloud has SD installed).

      We could replicate this in a clean Cloud instance with an export file from a clean JIRA 7.3.0 e SDS 3.3.0 Server.

      Steps to Reproduce

      1. Import from JIRA SD Server to Cloud
      2. Import to a JIRA Cloud without SD installed.

      Expected Results

      Either the import will work without the SD features or a warning will be shown that the user has to install SD first.

      Actual Results

      The following error is shown in UI:

      The upgrade task manager has returned a non-successful result from running the upgrades

      This in the logs:

      2017-01-05 16:50:23.317974500 2017-01-05 16:50:23,317 JiraImportTaskExecutionThread-1 ERROR sysadmin 1006x560x1  201.22.212.136 /secure/admin/StudioImport!import.jspa [c.a.upgrade.core.DefaultUpgradeTaskFactoryProcessor] Upgrade task [AsyncUpgradeTaskCreateDefaultNotificationsRules,buildNumber=6] failed
      2017-01-05 16:50:23.317976500 java.lang.RuntimeException: Upgrade task 'class com.atlassian.servicedesk.plugins.notifications.internal.bootstrap.upgrade.AsyncUpgradeTaskCreateDefaultNotificationsRules' failed with with outcome 'FAILED': Unable to validate rule during creation.
      2017-01-05 16:50:23.317987500   at com.atlassian.servicedesk.bootstrap.upgradeanddowngrade.ServiceDeskUpgradeTaskFactory$AsyncUpgradeTaskAdapter.runUpgrade(ServiceDeskUpgradeTaskFactory.java:142)
      2017-01-05 16:50:23.317988500   at cloud.atlassian.upgrade.core.DefaultUpgradeTaskFactoryProcessor.runOneUpgradeTask(DefaultUpgradeTaskFactoryProcessor.java:92)
      2017-01-05 16:50:23.317992500   at cloud.atlassian.upgrade.core.DefaultUpgradeTaskFactoryProcessor.lambda$performUpgrades$2(DefaultUpgradeTaskFactoryProcessor.java:65)
      2017-01-05 16:50:23.317993500   at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
      2017-01-05 16:50:23.317998500   at java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
      2017-01-05 16:50:23.317998500   at java.util.stream.Sink$ChainedReference.end(Sink.java:258)
      2017-01-05 16:50:23.317999500   at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
      2017-01-05 16:50:23.317999500   at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
      2017-01-05 16:50:23.317999500   at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
      2017-01-05 16:50:23.318003500   at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
      2017-01-05 16:50:23.318003500   at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      2017-01-05 16:50:23.318004500   at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
      2017-01-05 16:50:23.318004500   at cloud.atlassian.upgrade.core.DefaultUpgradeTaskFactoryProcessor.performUpgrades(DefaultUpgradeTaskFactoryProcessor.java:66)
      2017-01-05 16:50:23.318008500   at cloud.atlassian.upgrade.core.DefaultUpgradeTaskManager.lambda$runPendingUpgrades$1(DefaultUpgradeTaskManager.java:46)
      2017-01-05 16:50:23.318008500   at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
      2017-01-05 16:50:23.318009500   at java.util.Iterator.forEachRemaining(Iterator.java:116)
      2017-01-05 16:50:23.318009500   at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
      2017-01-05 16:50:23.318014500   at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
      2017-01-05 16:50:23.318014500   at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
      2017-01-05 16:50:23.318014500   at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
      2017-01-05 16:50:23.318015500   at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      2017-01-05 16:50:23.318037500   at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:474)
      2017-01-05 16:50:23.318038500   at cloud.atlassian.upgrade.core.DefaultUpgradeTaskManager.runPendingUpgrades(DefaultUpgradeTaskManager.java:47)
      2017-01-05 16:50:23.318038500   at com.atlassian.jira.upgrade.UpgradeServiceImpl.lambda$executePendingUpgrades$7(UpgradeServiceImpl.java:143)
      2017-01-05 16:50:23.318039500   at com.atlassian.jira.upgrade.UpgradeServiceImpl.lambda$executeUpgradeMethod$8(UpgradeServiceImpl.java:153)
      2017-01-05 16:50:23.318043500   at com.atlassian.jira.upgrade.UpgradeServiceImpl.runActionWithLock(UpgradeServiceImpl.java:192)
      2017-01-05 16:50:23.318043500   at com.atlassian.jira.upgrade.UpgradeServiceImpl.executeUpgradeMethod(UpgradeServiceImpl.java:150)
      2017-01-05 16:50:23.318043500   at com.atlassian.jira.upgrade.UpgradeServiceImpl.executePendingUpgrades(UpgradeServiceImpl.java:143)
      2017-01-05 16:50:23.318048500   at com.atlassian.jira.upgrade.UpgradeServiceImpl.lambda$runUpgradesForImport$3(UpgradeServiceImpl.java:89)
      2017-01-05 16:50:23.318049500   at com.atlassian.jira.upgrade.UpgradeServiceImpl.runWithTaskLogging(UpgradeServiceImpl.java:250)
      2017-01-05 16:50:23.318049500   at com.atlassian.jira.upgrade.UpgradeServiceImpl.runUpgradesForImport(UpgradeServiceImpl.java:83)
      2017-01-05 16:50:23.318050500   at com.atlassian.jira.bc.dataimport.DefaultDataImportService.upgradeJira(DefaultDataImportService.java:851)
      2017-01-05 16:50:23.318053500   at com.atlassian.jira.bc.dataimport.DefaultDataImportService.performImport(DefaultDataImportService.java:760)
      2017-01-05 16:50:23.318054500   at com.atlassian.jira.bc.dataimport.DefaultDataImportService.doImport(DefaultDataImportService.java:342)
      2017-01-05 16:50:23.318054500   at com.atlassian.jira.studio.importer.StudioDataImportAsyncCommand.importJiraExportData(StudioDataImportAsyncCommand.java:182)
      2017-01-05 16:50:23.318058500   at com.atlassian.jira.studio.importer.StudioDataImportAsyncCommand.importDataAndFiles(StudioDataImportAsyncCommand.java:168)
      2017-01-05 16:50:23.318059500   at com.atlassian.jira.studio.importer.StudioDataImportAsyncCommand.call(StudioDataImportAsyncCommand.java:119)
      2017-01-05 16:50:23.318065500   at com.atlassian.jira.studio.importer.StudioDataImportAsyncCommand.call(StudioDataImportAsyncCommand.java:61)
      2017-01-05 16:50:23.318066500   at com.atlassian.jira.task.ImportTaskManagerImpl$TaskCallableDecorator.call(ImportTaskManagerImpl.java:158)
      2017-01-05 16:50:23.318066500   at com.atlassian.jira.task.ImportTaskManagerImpl$TaskCallableDecorator.call(ImportTaskManagerImpl.java:134)
      2017-01-05 16:50:23.318070500   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      2017-01-05 16:50:23.318070500   at com.atlassian.jira.util.UnicornOnlyWorkContextCreatingExecutorService.lambda$wrapWithWorkContext$8(UnicornOnlyWorkContextCreatingExecutorService.java:218)
      2017-01-05 16:50:23.318071500   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      2017-01-05 16:50:23.318071500   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      2017-01-05 16:50:23.318075500   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      2017-01-05 16:50:23.318075500   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      2017-01-05 16:50:23.318076500   at java.lang.Thread.run(Thread.java:745)
      

      Workaround

      This issue is caused by upgrade tasks in Service Desk for JIRA Server 3.3.0 not having corresponding downgrade tasks. The workaround is to run the following query in JIRA Server's database (take a database backup first) then immediately run another export. If JIRA is restarted in between the SQL command and taking the backup, the upgrade tasks are re-run again and this process needs to be repeated.

      DELETE FROM upgradetaskhistory WHERE upgrade_task_factory_key = 'com.atlassian.servicedesk';
      

      This will be fixed in an upcoming release of Service Desk Cloud.

            hoaphan Hoa Phan (Inactive)
            jsilveira Jaime S
            Votes:
            0 Vote for this issue
            Watchers:
            19 Start watching this issue

              Created:
              Updated:
              Resolved: