Uploaded image for project: 'Jira Cloud'
  1. Jira Cloud
  2. JRACLOUD-66707

Modifying Workflow Scheme attached to many projects causes Zombie task

XMLWordPrintable

      Summary

      Modifying a workflow scheme tied to a large number of projects will create a zombie task and fail, and will then create multiple copies of the scheme and tie projects to them. The impact is that each time a change is made, more copies are created and the user has to reassociate all projects with the original scheme each time.

      Environment

      (Optional - If Applicable)

      • This was tested on a scheme with 21 projects tied to it.

      Steps to Reproduce

      1. Make a workflow scheme change for a scheme tied to a large number of projects (~20)
      2. Publish the changes
      3. The task will create multiple copies of the scheme and tie random projects from the initial to each copy.

      Expected Results

      The scheme changes should be saved and all projects should stay under the original scheme.

      Actual Results

      The below exception is thrown in the jira log file and the copies are created, each containing some of the projects from the initial scheme:

      2017-03-09 21:30:04.133437500 2017-03-09 21:30:04,132 Caesium-1-3 ERROR sysadmin     [c.a.j.t.progress.ProgressAwareMessageRunner.privacy-safe] Zombie task 121536 detected in state COMPLETE while updating the progress
      2017-03-09 21:30:04.134452500 2017-03-09 21:30:04,133 Caesium-1-3 WARN sysadmin     [c.a.j.t.progress.ProgressAwareMessageRunner.privacy-safe] While executing 121536 identified task to be in state COMPLETE in runner: ProgressAwareTaskService:com.atlassian.jira.workflow.migration.WorkflowSchemeMigrationTaskRunnerand killed it.
      2017-03-09 21:30:04.134454500 com.atlassian.jira.task.progress.ZombieException: While executing 121536 identified task to be in state COMPLETE
      2017-03-09 21:30:04.134454500 	at com.atlassian.jira.task.progress.ProgressUpdateWriterImpl.checkCorrectTaskStateToUpdate(ProgressUpdateWriterImpl.java:75)
      2017-03-09 21:30:04.134469500 	at com.atlassian.jira.task.progress.ProgressUpdateWriterImpl.setProgressAsPercent(ProgressUpdateWriterImpl.java:46)
      2017-03-09 21:30:04.134469500 	at com.atlassian.jira.task.progress.PartialProgressUpdateWriter.setProgressAsPercent(PartialProgressUpdateWriter.java:23)
      2017-03-09 21:30:04.134470500 	at com.atlassian.jira.task.progress.PartialProgressUpdateWriter.setProgressAsPercent(PartialProgressUpdateWriter.java:23)
      2017-03-09 21:30:04.134475500 	at com.atlassian.jira.task.progress.PartialProgressUpdateWriter.setProgressAsRatio(PartialProgressUpdateWriter.java:30)
      2017-03-09 21:30:04.134476500 	at com.atlassian.jira.workflow.migration.ProjectMigrator.migrateIssues(ProjectMigrator.java:246)
      2017-03-09 21:30:04.134487500 	at com.atlassian.jira.workflow.migration.ProjectMigrator.migrate(ProjectMigrator.java:200)
      2017-03-09 21:30:04.134487500 	at com.atlassian.jira.workflow.migration.DraftWorkflowSchemeMigrationHelper.migrate(DraftWorkflowSchemeMigrationHelper.java:179)
      2017-03-09 21:30:04.134488500 	at com.atlassian.jira.workflow.migration.DraftWorkflowSchemeMigrationHelper.migrate(DraftWorkflowSchemeMigrationHelper.java:130)
      2017-03-09 21:30:04.134492500 	at com.atlassian.jira.workflow.migration.WorkflowSchemeMigrationTaskRunner.migrate(WorkflowSchemeMigrationTaskRunner.java:107)
      2017-03-09 21:30:04.134493500 	at com.atlassian.jira.workflow.migration.WorkflowSchemeMigrationTaskRunner.runTask(WorkflowSchemeMigrationTaskRunner.java:63)
      2017-03-09 21:30:04.134494500 	at com.atlassian.jira.task.progress.ProgressAwareMessageRunner.processMessage(ProgressAwareMessageRunner.java:87)
      2017-03-09 21:30:04.134498500 	at com.atlassian.messagequeue.internal.scheduler.SchedulerMessageRunnerService$AmqJobRunner.processNestedMessage(SchedulerMessageRunnerService.java:206)
      2017-03-09 21:30:04.134498500 	at com.atlassian.messagequeue.internal.scheduler.SchedulerMessageRunnerService$AmqJobRunner.runJob(SchedulerMessageRunnerService.java:163)
      2017-03-09 21:30:04.134504500 	at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:179)
      2017-03-09 21:30:04.134504500 	at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:152)
      2017-03-09 21:30:04.134504500 	at com.atlassian.scheduler.core.JobLauncher.launchJob(JobLauncher.java:135)
      

      Notes

      Likely tied to https://jira.atlassian.com/browse/JRACLOUD-65545

      Workaround

      Split the projects into two identical workflow schemes (or more depending on the number of projects), and make the same changes to both whenever changes need to be made.

            Unassigned Unassigned
            efranklin Eric Franklin (Inactive)
            Votes:
            2 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: