accidently launched 6.3.6 now cannot launch 6.2.6

I accidentally launched 6.3.6. i stopped 6.3.6 and then launched 6.2.6 now getting

An error occurred performing JIRA upgrade

The data before the upgrade has been exported to /opt/atlassian/jira/prod/data/export/jira_autoexport_20141118_113925.zip

2014-11-18 11:40:37

error

Exception thrown during upgrade: Illegal group reference
java.lang.IllegalArgumentException: Illegal group reference
at java.util.regex.Matcher.appendReplacement(Matcher.java:713)
at java.util.regex.Matcher.replaceFirst(Matcher.java:861)
at java.lang.String.replaceFirst(String.java:2146)
at com.atlassian.jira.upgrade.tasks.UpgradeTask_Build6209.renameAllVersions(UpgradeTask_Build6209.java:112)
at com.atlassian.jira.upgrade.tasks.UpgradeTask_Build6209.doUpgrade(UpgradeTask_Build6209.java:72)
at com.atlassian.jira.upgrade.UpgradeManagerImpl.doUpgradeTaskSuccess(UpgradeManagerImpl.java:685)
at com.atlassian.jira.upgrade.UpgradeManagerImpl.runUpgradeTasks(UpgradeManagerImpl.java:534)
at com.atlassian.jira.upgrade.UpgradeManagerImpl.doUpgrade(UpgradeManagerImpl.java:463)
at com.atlassian.jira.upgrade.UpgradeManagerImpl.doUpgradeIfNeeded(UpgradeManagerImpl.java:405)
at com.atlassian.jira.upgrade.UpgradeManagerImpl.doUpgradeIfNeededAndAllowed(UpgradeManagerImpl.java:340)
at com.atlassian.jira.upgrade.UpgradeLauncher.checkIfUpgradeNeeded(UpgradeLauncher.java:106)
at com.atlassian.jira.upgrade.UpgradeLauncher.start(UpgradeLauncher.java:54)
at com.atlassian.jira.startup.ActiveServicesLauncher.start(ActiveServicesLauncher.java:42)
at com.atlassian.jira.startup.DefaultJiraLauncher$3.run(DefaultJiraLauncher.java:132)
at com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrEnqueue(DatabaseConfigurationManagerImpl.java:317)
at com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrWhenDatabaseActivated(DatabaseConfigurationManagerImpl.java:211)
at com.atlassian.jira.startup.DefaultJiraLauncher.postDbLaunch(DefaultJiraLauncher.java:118)
at com.atlassian.jira.startup.DefaultJiraLauncher.access$100(DefaultJiraLauncher.java:32)
at com.atlassian.jira.startup.DefaultJiraLauncher$1.run(DefaultJiraLauncher.java:81)
at com.atlassian.jira.util.devspeed.JiraDevSpeedTimer.run(JiraDevSpeedTimer.java:34)
at com.atlassian.jira.startup.DefaultJiraLauncher.start(DefaultJiraLauncher.java:76)
at com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:54)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

1 answer

I assume when you say you accidentally launched 6.3, it was pointed at the 6.2 database?

That means you're pretty much stuck. 6.3 will have upgraded the data to 6.3, which makes it useless to 6.2. Your 6.2 install is now detect the version mismatch, thinking "it's older, I should upgrade" and falling over because it can't.

However, you need to establish that my guess is right first. If it is, then you'll need to go back to the last database backup (The data can't be easily downgraded - you're looking at days or weeks of work). But I'm really not 100% sure that is what has happened.

Nic's answer is almost correct (upvoted), but there's a little bit more going on here. 6.2 detects the version mismatch, but it does not think "it's older, I should upgrade". It in fact knows that this is a downgrade. It just doesn't realize that it isn't a supported one.
Like most Atlassian products, JIRA does not test (and therefore does not support) downgrades as a general solution to the problem. The reasons for this are numerous, but the easy ones to see are that downgrade processes add a lot of complexity both to development and to test efforts, and they tend to be fragile. It's effort that seems better directed at fixing bugs and developing new features, especially when taking a backup first is much more robust strategy.
However, there is one specific case where we do support a downgrade, and that is when migrating from JIRA Cloud (formerly OnDemand) to JIRA Server (formerly just "JIRA"). This process is described here:
https://confluence.atlassian.com/display/JIRA/Migrating+from+JIRA+Cloud+to+JIRA+Server
Although we probably should, we don't lock this down when we release JIRA Server, so if your older version is late enough, then JIRA assumes that a migration from Cloud is the reason for the version mismatch and attempt to downgrade the data accordingly. Your 6.2.6 was the minimum supported downgrade version when 6.3 was released, so it is (accidentally) recognized as a valid downgrade target.
But there are two problems.
1) We don't maintain this. It looks like by the time 6.3.6 came around, enough changes were in to break it.
2) Even if it accidentally worked, it wouldn't be supported.
So yes, Nic's advice is spot on. Take the hit and restore from a backup. Anything else is asking for additional pain.

You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.

Hey everyone! My name is Sarah Schuster, and I'm a Customer Success Manager in Atlassian specializing in Jira Software Cloud. Over the next few weeks I will be posting discussion topics (8 total) to ...