JIRA Agile Fails to be Upgraded or Enabled due to NULL Upgrade History
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。
*Fisheye および Crucible は除く
問題
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
診断
- At 7.0.x (pre-upgrade), JIRA Agile works fine
- At 7.9.x (post-upgrade), all JIRA Software components are enabled, except JIRA Agile
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%';
出力
ID ENTITY_NAME ENTITY_ID PROPERTY_KEY propertytype ID propertyvalue 25505 jira.properties 1 com.pyxis.greenhopper.jira:build 5 25505 50
- Related KB: Only whitespace content allowed before start tag when trying to view project within JIRA Software
原因
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;
出力
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.
ソリューション
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;
Upon JIRA restart, JIRA Agile should be upgraded to the latest build (51) and enabled properly.