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

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

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

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:

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):

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

    Output

    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:

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

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.

Resolution

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

delete from propertytext where id = 10333;
delete from propertyentry where id = 10333;
tip/resting Created with Sketch.

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

Last modified on Nov 5, 2018

Was this helpful?

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