JIRA Agile Fails to be Upgraded or Enabled due to NULL Upgrade History

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

Problem

Upgrading JIRA Software from 7.0.x to 7.9.x, JIRA Agile add-on fails to enabled with this error in the logs:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 2018-07-02 18:58:17,171 ThreadPoolAsyncTaskExecutor::Thread 73 INFO admin 1119x478x1 1tmlwcr 172.18.64.113 /rest/plugins/1.0/ [c.atlassian.agile.support] ********************************************************************************* Atlassian GreenHopper v7.9.0-DAILY20180507130711 #790444b41de8afa8 built 2018-05-07T13:14:02.092Z - plugin starting... ********************************************************************************* 2018-07-02 18:58:17,245 UpmAsynchronousTaskManager:thread-4 INFO admin 1119x478x1 1tmlwcr 172.18.64.113 /rest/plugins/1.0/ [c.a.plugin.util.WaitUntil] Plugins that have yet to be enabled: (1): [com.pyxis.greenhopper.jira], 294 seconds remaining 2018-07-02 18:58:17,297 ThreadPoolAsyncTaskExecutor::Thread 73 ERROR admin 1119x478x1 1tmlwcr 172.18.64.113 /rest/plugins/1.0/ [c.a.p.osgi.factory.OsgiPlugin] Unable to start the plugin container for plugin 'com.pyxis.greenhopper.jira' org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'greenhopper-launcher': Invocation of init method failed; nested exception is com.thoughtworks.xstream.io.StreamException: : input contained no data at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:136) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:408) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:60) at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:325) at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:290) at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137) 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) Caused by: com.thoughtworks.xstream.io.StreamException: : input contained no data at com.thoughtworks.xstream.io.xml.XppReader.next(XppReader.java:85) at com.thoughtworks.xstream.io.xml.XppReader.read(XppReader.java:135) at com.thoughtworks.xstream.io.xml.XppReader.moveDown(XppReader.java:94) at com.thoughtworks.xstream.io.xml.XppReader.<init>(XppReader.java:31) at com.thoughtworks.xstream.io.xml.XppDriver.createReader(XppDriver.java:22) at com.thoughtworks.xstream.XStream.fromXML(XStream.java:496) at com.atlassian.greenhopper.service.PersistenceServiceImpl.getData(PersistenceServiceImpl.java:149) at com.atlassian.greenhopper.upgrade.UpgradeVersionService.getPluginRunHistory(UpgradeVersionService.java:260) at com.atlassian.greenhopper.service.logging.LogSupportInfo.showPluginRunHistory(LogSupportInfo.java:99) at com.atlassian.greenhopper.service.logging.LogSupportInfo.logSupportInfoOnStartup(LogSupportInfo.java:64) at com.atlassian.greenhopper.service.logging.LogSupport.onPluginStarting(LogSupport.java:42) at com.atlassian.greenhopper.Launcher.onSpringContextStarted(Launcher.java:178) ... 3 filtered at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:354) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:305) at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:133) ... 18 more Caused by: java.io.EOFException: input contained no data at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2927) at org.xmlpull.mxp1.MXParser.more(MXParser.java:2965) at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1378) at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1363) at org.xmlpull.mxp1.MXParser.next(MXParser.java:1061) ... 37 more

Diagnosis

  1. At 7.0.x (pre-upgrade), JIRA Agile works fine

  2. At 7.9.x (post-upgrade), all JIRA Software components are enabled, except JIRA Agile

  3. This SQL query suggests that JIRA Agile fails to be upgraded from Build 50 (7.0.x) to Build 51 (7.9.x):

    1 select * from propertyentry pe inner join propertystring ps on pe.id = ps.id where pe.property_key like '%reen%build%';

    Output

    1 2 ID ENTITY_NAME ENTITY_ID PROPERTY_KEY propertytype ID propertyvalue 25505 jira.properties 1 com.pyxis.greenhopper.jira:build 5 25505 50
  4. Related KB: Only whitespace content allowed before start tag when trying to view project within JIRA Software

Cause

The error message suggests that there's a NULL entry somewhere in the database, related to JIRA Agile. This SQL query can be run to find it out:

1 select * from propertyentry pe inner join propertytext pt on pe.id = pt.id where pe.entity_name like '%reen%' and pt.propertyvalue is null;

Output

1 2 ID ENTITY_NAME ENTITY_ID PROPERTY_KEY propertytype ID propertyvalue 10333 GreenHopper.UpgradeHistory 1 2018-04-22T21:22:51.689+08:00 6 10333 null

In this specific example, there's a NULL entry for JIRA Agile Upgrade History, causing JIRA Agile to fail to be upgraded to the latest build, thus fail to be enabled.

Solution

Resolution

Remove the NULL entry as follows, using the right ID (10333 as in the above example):

1 2 delete from propertytext where id = 10333; delete from propertyentry where id = 10333;

Upon JIRA restart, JIRA Agile should be upgraded to the latest build (51) and enabled properly.

Updated on April 8, 2025

Still need help?

The Atlassian Community is here for you.