Deployment cannot continue because of Default scheme name conflicts error

Problem (first cause)

A similar error is displayed in the Analyze Configuration Changes page and the deployment cannot continue:

Cause

There is an addition of a scheme that attempts to use the name of the default scheme. You can find the conflicting scheme by the  icon in both the tab and the change with similar error in a tooltip:

Resolution

Make sure CMJ will be able to create a non-default scheme with the name of the current default scheme.

  • Use the selective merge to match the scheme to an existing scheme on the current Jira instance.
  • Rename the default scheme on the target Jira instance and retry the deployment with the same snapshot
  • Change the name of the conflicting scheme on the source Jira instance, create a new snapshot and retry the deployment
  • Associate the project(s) with the default scheme on the source Jira instance, create a new snapshot and retry the deployment

Problem (second cause)

A similar error is displayed in the Analyze Configuration Changes page and the deployment cannot continue:

Cause

There is a change in the default scheme that attempts to rename it to a name that is already in use by a non-default scheme. You can find the conflicting scheme by the  icon in both the tab and the change with similar error in a tooltip:

Resolution

  • Use the selective merge to make the scheme non-default and select a different name. By using this you will be able to deploy without leaving the wizard. A new non-default scheme will be created.
  • Use the selective merge to match the scheme to another existing scheme on the current Jira instance.
  • Rename the default scheme on the source Jira instance to the same (or any non-occupied) name as target's, create a new snapshot and retry the deployment.
  • Associate the project(s) with a different scheme, create a new snapshot and retry the deployment, create a new snapshot and retry the deployment.

For versions prior 6.5.2:

There are no error messages in the Analyze Configuration Changes page but the deployment fails with the following message:

Unable to apply change 'type: addition, object: JiraConfigurationRoot#root/JiraPermissionScheme#default permission scheme, target object: JiraConfigurationRoot#root, feature: permissionSchemes'

Problem

Several exceptions in JIRA log, usually about not being able to create a scheme containing "default" in the name.

Examples


java.util.concurrent.ExecutionException: com.botronsoft.jira.rollout.impl.merge.MergeException: Unable to apply change 'type: addition, object: JiraConfigurationRoot#root/JiraPermissionScheme#default software scheme
  
Caused by: com.botronsoft.jira.rollout.impl.merge.MergeException: Unable to apply change 'type: addition, object: JiraConfigurationRoot#root/JiraPermissionScheme#default software scheme, target object: JiraConfigurationRoot#root, feature: permissionSchemes
  
Caused by: com.atlassian.jira.exception.DataAccessException: org.ofbiz.core.entity.GenericEntityException: Could not create Permission Scheme with name:Default software scheme as it already exists.

Cause

'Default software scheme' is not really default.

Most often this is caused by schemes with the same name in the snapshot and the target instance, one of which is default, while the other is not.

For some object types, CMJ matches default objects in the snapshot to their default counterparts in the target instance. Those include permission schemes, issue type schemes, notification schemes, field configuration schemes, field configurations, workflows. Non-default objects are matched by name. If a matching object is not found in the target instance, a new one will be created using the name of the object in the snapshot.

Resolution

  • If you'd like the permission scheme in the snapshot to match the one in the target instance, make sure they are either both default, or that they are both non-default and have the same name.
  • To make sure the default scheme is not exported, create a copy of it and assign it to the exported projects. Rename it if necessary.