JIRA Agile Upgrade Fails with a NullPointerException
Symptoms
When upgrading to JIRA Agile 6.1 from 6.0.8 or lower, Upgrade Task 27 fails with an "Upgrade failed: null" error message and throws a java.lang.NullPointerException
.
This may appear in JIRA as the following notice:
JIRA Agile is currently unavailable. This might be because an upgrade task has failed to run or has not not yet completed.
Please contact your system administrator if you continue to see this message.
The following appears in the atlassian-jira.log
:
012-12-11 08:39:41,774 pool-18-thread-1 ERROR sysadmin 515x343x2 a5c1a4 0:0:0:0:0:0:0:1%0 /rest/plugins/1.0/ [sal.core.upgrade.PluginUpgrader] Upgrade failed: null
java.lang.NullPointerException
at com.atlassian.greenhopper.customfield.CustomFieldServiceImpl.setOptionsOrderFromMetadata(CustomFieldServiceImpl.java:179)
at com.atlassian.greenhopper.service.issuelink.EpicCustomFieldServiceImpl.ensureEpicStatusFieldHasCorrectOptionsOrder(EpicCustomFieldServiceImpl.java:125)
at com.atlassian.greenhopper.upgrade.GhUpgradeTask027.performUpgrade(GhUpgradeTask027.java:85)
at com.atlassian.greenhopper.upgrade.AbstractGhUpgradeTask.doUpgrade(AbstractGhUpgradeTask.java:50)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
Diagnosis
Upgrading to JIRA 6.1.x from JIRA Agile 6.0.8 or lower.
If the instructions in this KB are followed for an upgrade from 6.1.0 to 6.1.1 or higher, it will incur data loss.
Cause
It is currently unknown what the root cause is, at this stage it appears to be an inconsistency with the data in the database, most likely from the Epic functionality in Atlassian Labs.
Resolution
If the instructions in this KB are followed for an upgrade from 6.1.0 to another 6.1.1 or higher, it will incur data loss.
Delete the Epic Status Custom Field, as per our Configuring a Custom Field documentation.
The value in the Epic Status field isn't being used in previous versions (6.0.8 and lower) so there should not be any data to lose, unless it has been explicitly set manually. If this is deleted when upgrading from 6.1.0 to 6.1.1 and higher, it will incur data loss.
- Disable and re-enable the JIRA Agile plugin in the UPM. This will cause the upgrade tasks to run again.
- Test JIRA Agile to ensure it is accessible.