-
Bug
-
Resolution: Fixed
-
High
-
Severity 2 - Major
-
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
- Import from JIRA SD Server to Cloud
- 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.
- is related to
-
JRACLOUD-79492 JSD failed upgrade task is causing failure when importing to JIRA Cloud
- Closed
- relates to
-
JRACLOUD-67130 JIRA import fails due to upgrade task
- Closed
- caused by
-
DESK-5074 Loading...