Deleting data from old Jira Service Desk versions (3.2 and below) to unblock the upgrade

Still need help?

The Atlassian Community is here for you.

Ask the community

Problem

If you’re using one of the earlier versions of Jira Service Desk (3.2 or below), some data might be incompatible and can block you from upgrading to the latest version or migrating to Jira Service Management Cloud. This often happens when an instance is upgraded without going through versions 3.0 and 3.1, which run important upgrade tasks. Here’s a related issue for more context

You can also use this procedure if you’re seeing the following error:

2019-01-29 02:14:05,217 JIRA-Bootstrap ERROR      [bootstrap.lifecycle.server.ServerPluginLifeCycle] '2.0.2' version of Service Desk cannot be upgraded to '3.9.2-REL-0010'. Upgrade to '3.0.0' <= <version> < '3.2.0' first.
com.atlassian.servicedesk.bootstrap.lifecycle.server.UnsatisfiedVersionRequirementException: '2.0.2' version of Service Desk cannot be upgraded to '3.9.2-REL-0010'. Upgrade to '3.0.0' <= <version> < '3.2.0' first.
	at com.atlassian.servicedesk.bootstrap.lifecycle.server.UpgradeRequirementsChecker.checkVersionRequirementForUpgrade(UpgradeRequirementsChecker.java:47)

Solution

Follow these steps to manually remove the Jira Service Desk add-on, related directories, and other incompatible data.

Before you begin

  • Back up your database.

  • Back up your Jira home directory.

Step 1: Remove the license

  1. Go to Administration > Applications > Versions and licensing.

  2. Click Uninstall next to your Jira Service Desk license.

  3. Restart Jira.

Step 2: Remove the Jira Service Desk add-on

  1. Go to Administration > Add-ons > Manage add-ons.

  2. Find the Jira Service Desk base application, and uninstall it.

  3. Shut down Jira.

Step 3: Remove the files and directories

  1. Go to <Jira-home-directory>/plugins/installed-plugins.

  2. Remove the following JAR files. You might have different versions of these files, or multiple versions of the same files, hence we’ve added the wildcards (*). 

    atlassian-chaperone-*.jar
    atlassian-client-resource-*.jar
    atlassian-pocketknife-api-commons-plugin-*.jar
    atlassian-timed-promise-plugin-*.jar
    jira-email-processor-plugin-*.jar
    jira-servicedesk-*.jar
    jira-servicedesk-application-*.jar
    jira-servicedesk-public-rest-api-plugin-*.jar
    jira-workinghours-plugin-*.jar
    jwt-plugin-*.jar
    psmq-plugin-*.jar
    querydsl-*-provider-plugin-*.jar
    servicedesk-approvals-plugin-*.jar
    servicedesk-automation-modules-plugin-*.jar
    servicedesk-automation-plugin-*.jar
    servicedesk-automation-then-webhook-plugin-*.jar
    servicedesk-canned-responses-plugin-*.jar
    servicedesk-core-ui-plugin-*.jar
    servicedesk-frontend-plugin-*.jar
    servicedesk-internal-base-plugin-*.jar
    servicedesk-knowledge-base-plugin-*.jar
    servicedesk-lingo-plugin-*.jar
    servicedesk-notifications-plugin-*.jar
    servicedesk-project-ui-plugin-*.jar
    servicedesk-reports-plugin-*.jar
    servicedesk-search-plugin-*.jar
    servicedesk-variable-substitution-plugin-*.jar
  3. Delete the following directories to clear the cache: 

    <Jira-home-directory>/plugins/.bundled-plugins
    <Jira-home-directory>/plugins/.osgi-plugins
  4. Start Jira to make sure it’s still working. If it is, shut it down again. If it’s not, which might happen if incorrect files were removed, restore the database backup and the local home directory, and try again.

Step 4: Drop the database tables

If you haven’t done it already, make sure to back up your database.

Run the following commands to clear any database schema tables from Jira Service Desk 2.x and 3.x.

Good to know

  • Run the commands in the order specified below. Otherwise, you might encounter errors about foreign key constraints.

  • These are generic drop statements. Make sure to use the SQL syntax appropriate for your database.

  • If any of the drop commands fail, see the section below the commands that explains how to fix this issue.

DROP TABLE IF EXISTS AO_2C4E5C_MAILGLOBALHANDLER;
DROP TABLE IF EXISTS AO_2C4E5C_MAILHANDLER;
DROP TABLE IF EXISTS AO_2C4E5C_MAILCHANNEL;
DROP TABLE IF EXISTS AO_2C4E5C_MAILCONNECTION;
DROP TABLE IF EXISTS AO_2C4E5C_MAILITEMAUDIT;
DROP TABLE IF EXISTS AO_2C4E5C_MAILITEMCHUNK;
DROP TABLE IF EXISTS AO_2C4E5C_MAILITEM;
DROP TABLE IF EXISTS AO_2C4E5C_MAILRUNAUDIT;
DROP TABLE IF EXISTS AO_54307E_AGENTSIGNATURES;
DROP TABLE IF EXISTS AO_54307E_ASYNCUPGRADERECORD;
DROP TABLE IF EXISTS AO_54307E_CAPABILITY;
DROP TABLE IF EXISTS AO_54307E_CONFLUENCEKBENABLED;
DROP TABLE IF EXISTS AO_54307E_CONFLUENCEKBLABELS;
DROP TABLE IF EXISTS AO_54307E_CONFLUENCEKB;
DROP TABLE IF EXISTS AO_54307E_CSATENTRIES;
DROP TABLE IF EXISTS AO_54307E_CUSTOMGLOBALTHEME;
DROP TABLE IF EXISTS AO_54307E_EMAILCHANNELSETTING;
DROP TABLE IF EXISTS AO_54307E_EMAILSETTINGS;
DROP TABLE IF EXISTS AO_54307E_GOAL;
DROP TABLE IF EXISTS AO_54307E_GROUPTOREQUESTTYPE;
DROP TABLE IF EXISTS AO_54307E_IMAGES;
DROP TABLE IF EXISTS AO_54307E_METRICCONDITION;
DROP TABLE IF EXISTS AO_54307E_PARTICIPANTSETTINGS;
DROP TABLE IF EXISTS AO_54307E_QUEUECOLUMN;
DROP TABLE IF EXISTS AO_54307E_SERIES;
DROP TABLE IF EXISTS AO_54307E_STATUSMAPPING;
DROP TABLE IF EXISTS AO_54307E_THRESHOLD;
DROP TABLE IF EXISTS AO_54307E_TIMEMETRIC;
DROP TABLE IF EXISTS AO_54307E_VIEWPORTFIELDVALUE;
DROP TABLE IF EXISTS AO_54307E_VIEWPORTFIELD;
DROP TABLE IF EXISTS AO_54307E_VIEWPORTFORM;
DROP TABLE IF EXISTS AO_7A2604_HOLIDAY;
DROP TABLE IF EXISTS AO_7A2604_WORKINGTIME;
DROP TABLE IF EXISTS AO_7A2604_CALENDAR;
DROP TABLE IF EXISTS AO_9B2E3B_EXEC_RULE_MSG_ITEM;
DROP TABLE IF EXISTS AO_9B2E3B_IF_COND_CONF_DATA;
DROP TABLE IF EXISTS AO_9B2E3B_IF_COND_EXECUTION;
DROP TABLE IF EXISTS AO_9B2E3B_IF_CONDITION_CONFIG;
DROP TABLE IF EXISTS AO_9B2E3B_IF_EXECUTION;
DROP TABLE IF EXISTS AO_9B2E3B_PROJECT_USER_CONTEXT;
DROP TABLE IF EXISTS AO_9B2E3B_RSETREV_PROJ_CONTEXT;
DROP TABLE IF EXISTS AO_9B2E3B_RSETREV_USER_CONTEXT;
DROP TABLE IF EXISTS AO_9B2E3B_THEN_ACT_CONF_DATA;
DROP TABLE IF EXISTS AO_9B2E3B_THEN_ACT_EXECUTION;
DROP TABLE IF EXISTS AO_9B2E3B_THEN_EXECUTION;
DROP TABLE IF EXISTS AO_9B2E3B_THEN_ACTION_CONFIG;
DROP TABLE IF EXISTS AO_9B2E3B_WHEN_HAND_CONF_DATA;
DROP TABLE IF EXISTS AO_9B2E3B_WHEN_HANDLER_CONFIG;
DROP TABLE IF EXISTS AO_F1B27B_HISTORY_RECORD;
DROP TABLE IF EXISTS AO_F1B27B_KEY_COMPONENT;
DROP TABLE IF EXISTS AO_F1B27B_KEY_COMP_HISTORY;
DROP TABLE IF EXISTS AO_F1B27B_PROMISE;
DROP TABLE IF EXISTS AO_F1B27B_PROMISE_HISTORY CASCADE;
DROP TABLE IF EXISTS AO_54307E_GROUP;
DROP TABLE IF EXISTS AO_54307E_QUEUE;
DROP TABLE IF EXISTS AO_54307E_REPORT;
DROP TABLE IF EXISTS AO_54307E_SERVICEDESK;
DROP TABLE IF EXISTS AO_9B2E3B_IF_THEN;
DROP TABLE IF EXISTS AO_9B2E3B_IF_THEN_EXECUTION;
DROP TABLE IF EXISTS AO_9B2E3B_RULE;
DROP TABLE IF EXISTS AO_9B2E3B_RULESET_REVISION;
DROP TABLE IF EXISTS AO_9B2E3B_RULE_EXECUTION;
DROP TABLE IF EXISTS AO_9B2E3B_RULESET;
DROP TABLE IF EXISTS AO_54307E_VIEWPORT;
DROP TABLE IF EXISTS AO_54307E_CUSTOMTHEME;

If any of your drop commands failed…

If any of the preceding drop commands failed (it most often happens with the AO_54307E_SERVICEDESK table which occur if you had installed the Early access Beta or 1.x versions), run the following set of commands. Once completed, go back to Step 4 and run the original commands again.

Drop table commands...
DROP TABLE IF EXISTS AO_54307E_OUT_EMAIL_SETTINGS;
DROP TABLE IF EXISTS AO_54307E_SERVICEDESK;
DROP TABLE IF EXISTS AO_54307E_SUBSCRIPTION;
DROP TABLE IF EXISTS AO_54307E_SYNCUPGRADERECORD;
DROP TABLE IF EXISTS AO_54307E_SERVICEDESK;
DROP TABLE IF EXISTS AO_54307E_ORGANIZATION_MEMBER
DROP TABLE IF EXISTS AO_54307E_ORGANIZATION_MEMBERS;
DROP TABLE IF EXISTS AO_54307E_ORGANIZATION_PROJECT;
DROP TABLE IF EXISTS AO_54307E_ORGANIZATION;
DROP TABLE IF EXISTS AO_54307E_SLAAUDITLOGDATA;
DROP TABLE IF EXISTS AO_54307E_SLAAUDITLOG;

Step 5: Delete data from database tables

  1. Run the following commands to delete the values of the propertytext and propertyentry tables: 

    delete from propertytext where id in (select id from propertyentry where entity_name like 'com.atlassian.servicedesk%' and propertytype='6');
    delete from propertyentry where entity_name like 'com.atlassian.servicedesk%' and propertytype='6';
  2. Start Jira.

  3. Verify that the values you deleted above weren’t created again. If they were, it might mean that one of the JAR files from the beginning of this procedure wasn’t removed. If that’s the case, start the procedure again from Step 3: Remove files and directories.

Result

Your Jira instance should now be clear of any old Jira Service Desk data. To install a fresh instance of Jira Service Desk, go to Administration > Applications.

Last modified on May 20, 2021

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.