Hi,
when running cloud migration we encountered the following error:
2023-06-19 09:50:38,534+0200 plugin-transaction-0 INFO [c.a.jira.plugin.PluginTransactionListener] [JIRA-STATS] [plugin-transaction] numberStartEvents:854, numberEndEvents:854, numberSendEvents:571, numberEventsInTransactions:14930, numberOfPluginEnableEvents:293
java.lang.ClassCastException: com.opensymphony.workflow.loader.ConditionsDescriptor cannot be cast to com.opensymphony.workflow.loader.ConditionDescriptor
at com.atlassian.jira.migration.workers.attachments.csvgenerator.AppWorkflowRulesCsvExtractor.searchForRules(AppWorkflowRulesCsvExtractor.kt:77)
at com.atlassian.jira.migration.workers.attachments.csvgenerator.AppWorkflowRulesCsvExtractor.getRecords(AppWorkflowRulesCsvExtractor.kt:49)
at com.atlassian.jira.migration.workers.site.V3SiteDataProcessor$generateWorkflowRulesCsv$1.invoke(V3SiteDataWorker.kt:362)
at com.atlassian.jira.migration.workers.site.V3SiteDataProcessor$generateWorkflowRulesCsv$1.invoke(V3SiteDataWorker.kt:358)
at com.atlassian.jira.migration.tracking.tasks.process.OperationProcessor$runTimedOperation$1.invoke(OperationProcessor.kt:42)
at com.atlassian.jira.migration.tracking.tasks.process.OperationProcessor$runTimedOperation$1.invoke(OperationProcessor.kt:41)
at com.atlassian.jira.migration.tracking.tasks.process.OperationProcessor$runTimedOperationWithResult$1.invoke(OperationProcessor.kt:64)
at com.atlassian.jira.migration.events.JiraEventDetectionService.runAndDetect(JiraEventDetectionService.kt:69)
at com.atlassian.jira.migration.tracking.tasks.process.OperationProcessor.runTimedOperationWithResult(OperationProcessor.kt:61)
at com.atlassian.jira.migration.tracking.tasks.process.OperationProcessor.runTimedOperation(OperationProcessor.kt:41)
at com.atlassian.jira.migration.tracking.tasks.process.OperationProcessor.runTimedOperation$default(OperationProcessor.kt:35)
at com.atlassian.jira.migration.workers.site.V3SiteDataProcessor.generateWorkflowRulesCsv(V3SiteDataWorker.kt:358)
at com.atlassian.jira.migration.workers.site.V3SiteDataProcessor.generateCsvFiles(V3SiteDataWorker.kt:326)
at com.atlassian.jira.migration.workers.site.V3SiteDataProcessor.generateEnrichedBackup(V3SiteDataWorker.kt:279)
at com.atlassian.jira.migration.workers.site.V3SiteDataProcessor.process(V3SiteDataWorker.kt:247)
at com.atlassian.jira.migration.workers.site.V3SiteDataWorker.process(V3SiteDataWorker.kt:108)
at com.atlassian.jira.migration.tracking.polling.Poller.dispatchTask(Poller.kt:153)
at com.atlassian.jira.migration.tracking.polling.Poller.pollForTaskAndDispatch(Poller.kt:148)
at com.atlassian.jira.migration.tracking.polling.Poller.pollForTaskAndDispatchNoThrow(Poller.kt:89)
at com.atlassian.jira.migration.tracking.polling.Poller.doPoll(Poller.kt:74)
at com.atlassian.jira.migration.tracking.polling.AbstractPoller.execute(AbstractPoller.kt:67)
at com.atlassian.jira.migration.tracking.polling.AbstractPoller.access$execute(AbstractPoller.kt:18)
at com.atlassian.jira.migration.tracking.polling.AbstractPoller$startPolling$1.invoke(AbstractPoller.kt:38)
at com.atlassian.jira.migration.tracking.polling.AbstractPoller$startPolling$1.invoke(AbstractPoller.kt:38)
at com.atlassian.jira.migration.tracking.utils.ThreadUtils.safeExecutePeriodicallyUntilStopped(ThreadUtils.kt:39)
at com.atlassian.jira.migration.tracking.polling.AbstractPoller.startPolling(AbstractPoller.kt:37)
at com.atlassian.jira.migration.tracking.MigrationTracker.addAndStartWorkPoller$lambda$4$lambda$3(MigrationTracker.kt:78)
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:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
The migration then aborts with an error.
Regards
I don't see any bug or kba to this error so I will assume this is something new.
com.opensymphony.workflow.loader.ConditionsDescriptor cannot be cast to com.opensymphony.workflow.loader.ConditionDescriptor
Conditions can be "sub-grouped" in the workflow, by either "all of" or "any of". I think this is what this is about. Either, Cloud doesn't have or know about the ability to "group" conditions, or it's in a format it doesn't know how to work with, or, maybe you're using a plugin which is not compatible with Cloud, and it ends up creating an empty group that it doesn't know how to handle, or it's something else.
You might try to remove the condition groups from the workflow(s) and see if it works. Ultimately it might be good to throw a ticket to Atlassian so that they can include this in the KBA as well, because I'm pretty much convinced it has to do with condition groups. (Because those are the classes inside the workflow descriptor, and I dealt with those classes a few times.)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.