more than one draft workflows associated with the workflow named

Paul Richardson February 18, 2016

As the title indicates, when trying to delete a workflow named "Project Tracker Test Workflow V2.0" I get an error as show below. Note that I have purged the system of all inactive workflow schemes,and inactive workflows. I have reindexed the system and run the integrity checker as well. I cannot seem to find this offending workflow anywhere. Any guidance would be helpful

 

com.atlassian.cache.CacheException: java.lang.IllegalStateException: There are more than one draft workflows associated with the workflow named 'Project Tracker Test Workflow V2.0'

        at com.atlassian.cache.memory.DelegatingCache$DelegatingLoadingCache.get(DelegatingCache.java:270)

        at com.atlassian.jira.workflow.CachingDraftWorkflowStore.getDraftWorkflow(CachingDraftWorkflowStore.java:56)

        at com.atlassian.jira.workflow.OSWorkflowManager.getDraftWorkflow(OSWorkflowManager.java:249)

        at com.atlassian.jira.workflow.OSWorkflowManager.deleteDraftWorkflow(OSWorkflowManager.java:291)

        at com.atlassian.jira.workflow.OSWorkflowManager.deleteWorkflow(OSWorkflowManager.java:501)

        at com.atlassian.jira.bc.workflow.DefaultWorkflowService.deleteWorkflow(DefaultWorkflowService.java:190)

        at com.atlassian.jira.web.action.admin.workflow.ListWorkflows.doDeleteWorkflow(ListWorkflows.java:114)

        at sun.reflect.GeneratedMethodAccessor773.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:497)

        at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:70)

        at webwork.util.InjectionUtils.invoke(InjectionUtils.java:56)

        at webwork.action.ActionSupport.invokeCommand(ActionSupport.java:438)

        at webwork.action.ActionSupport.execute(ActionSupport.java:157)

        at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:88)

        at webwork.interceptor.DefaultIntercep

 

 

4 answers

2 votes
Vasiliy Zverev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 18, 2016

It seems to be a hardcore question. 

Here is an SQL statement to get count of draft workflows. Try to execute it and find any records where count > 1

Select
	jiraworkflows.workflowname
	, count (jiraworkflows.workflowname)
from
	jiraworkflows
	join jiradraftworkflows	on	jiraworkflows.workflowname = jiradraftworkflows.PARENTNAME
group by
	jiraworkflows.workflowname
order by
	count (jiraworkflows.workflowname) desc
Paul Richardson February 22, 2016

Vasiliy, if I do find a record with a count > 1 is it safe to get rid of that record ?

 

Vasiliy Zverev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 23, 2016

Here is a script to delete a draft workflow related to spesified WF name. 

I recommend to run it first on test instance becauce it is a not standart case.

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.workflow.JiraWorkflow
import com.atlassian.jira.workflow.WorkflowManager

/**
 * Delte draft workflow
 */
WorkflowManager workflowManager = ComponentAccessor.getWorkflowManager()
JiraWorkflow workflow = workflowManager.getWorkflow(workflowManager.getWorkflow("WorkflowName"))

workflowManager.deleteWorkflow( workflowManager.getDraftWorkflow(workflow.getName()))
0 votes
BenP
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 2, 2016

It's happened to me a couple of times as well..
 

I would attempt the following:

  1. Export the problematic workflow
  2. Import it again using a new name
  3. Replace the old workflow with the new one in the active schemes
  4. Delete the old workflow

Hope this helps.

In case you can recreate the same problem again, open a support request with Atlassian & submit the steps to reproduce.

Cheers,

Ben 

 

0 votes
Paul Richardson February 18, 2016

I've tried re-indexing and the integrity checks to no avail

0 votes
Vasiliy Zverev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 18, 2016

Try to do integrity check at first. See this: https://answers.atlassian.com/questions/36118933

Suggest an answer

Log in or Sign up to answer