Your shared Bamboo configuration version is too old comparing to local node Bamboo version

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

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.

*Fisheye および Crucible は除く

要約

When upgrading Bamboo to version 8.0 or higher, the application will not start.

環境

Upgrading Bamboo to version 8.0+.

診断

The following error message can be seen in the logs (atlassian-bamboo.log) right after Bamboo is started.

2021-09-17 15:41:25,515 INFO [localhost-startStop-1] [lifecycle] *   Bamboo is starting up     *
2021-09-17 15:41:25,515 INFO [localhost-startStop-1] [lifecycle] *******************************
[...]
2021-09-17 15:41:26,858 ERROR [localhost-startStop-1] [DefaultAtlassianBootstrapManager] Home is not configured properly: 
com.atlassian.config.ConfigurationException: Your shared Bamboo configuration (/bamboo-home/xml-data/configuration) version (60805) is too old comparing to local node Bamboo version (70212). Shared home Bamboo version expected to be equal or greater than local Bamboo node version.
	at com.atlassian.bamboo.setup.DefaultBootstrapManager.afterConfigurationLoaded(DefaultBootstrapManager.java:132)
	at com.atlassian.config.bootstrap.DefaultAtlassianBootstrapManager.init(DefaultAtlassianBootstrapManager.java:75)
	at com.atlassian.bamboo.setup.BootstrapLoaderListener.contextInitialized(BootstrapLoaderListener.java:155)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4705)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5171)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1412)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1402)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	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)
2021-09-17 15:41:26,860 INFO [localhost-startStop-1] [lifecycle] Bamboo home directory: /bamboo-home
2021-09-17 15:41:26,860 INFO [localhost-startStop-1] [lifecycle] Default charset: UTF-8, file name ecoding: UTF-8
2021-09-17 15:41:26,869 INFO [localhost-startStop-1] [UpgradeLauncher] Upgrades not performed since the application has not been set up yet.


In the UI, you'll see a long error related to FreeMarker templates, which is thrown because Bamboo couldn't startup properly due to the error above.

io.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.NullPointerException
	at io.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:156)
	at io.atlassian.util.concurrent.LazyReference.get(LazyReference.java:116)
	at com.atlassian.bamboo.ww2.BambooFreemarkerManagerSoyHelpers$SoyHelper.renderNoCache(BambooFreemarkerManagerSoyHelpers.java:98)
	at com.atlassian.bamboo.ww2.BambooFreemarkerManagerSoyHelpers$SoyHelper.render(BambooFreemarkerManagerSoyHelpers.java:88)
	at com.atlassian.bamboo.ww2.BambooFreemarkerManagerSoyHelpers$SoyHelper.render(BambooFreemarkerManagerSoyHelpers.java:80)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1459)
	at freemarker.ext.beans.ReflectionCallableMemberDescriptor.invokeMethod(ReflectionCallableMemberDescriptor.java:56)
	at freemarker.ext.beans.MemberAndArguments.invokeMethod(MemberAndArguments.java:51)
	at freemarker.ext.beans.OverloadedMethodsModel.exec(OverloadedMethodsModel.java:63)
	at freemarker.core.MethodCall._eval(MethodCall.java:76)
	at freemarker.core.Expression.eval(Expression.java:81)

[...]	

Caused by: java.lang.NullPointerException
	at com.atlassian.bamboo.ww2.BambooFreemarkerManager$1.get(BambooFreemarkerManager.java:127)
	at com.atlassian.bamboo.ww2.BambooFreemarkerManager$1.get(BambooFreemarkerManager.java:124)
	at io.atlassian.util.concurrent.Lazy$Strong.create(Lazy.java:98)
	at io.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:332)
	at io.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:150)
	... 112 more

原因

Starting Bamboo 8, a new file was introduced to the home folder, called bamboo-shared.cfg.xml. It contains the application's build number:

bamboo-shared.cfg.xml example
<?xml version="1.0" encoding="UTF-8"?><application-configuration>
  <properties>
    <property name="build-number">80009</property>
  </properties>
</application-configuration> 

One of the upgrade tasks checks if the new local home is using an older shared home. If, by any reason, that file gets corrupted and shows an older build number than your current one, the upgrade will fail.

E.g., if your current version is 7.2.5 (build 70212), but the file refers to the build number as 60805 (Bamboo 6.8.1), once you try to upgrade to Bamboo 8.0+, it will not match the above criteria and the upgrade will fail.

ソリューション

Simply update the file and replace the build number with the new one (which you can get from the error in the logs).

  1. Stop Bamboo.
  2. Make a backup and then edit the <bamboo-home>/xml-data/configuration/bamboo-shared.cfg.xml file, changing the build number to the one pointed by the error message, at the following property:

        <property name="build-number">80009</property> 
  3. The file should then look like this:

    <?xml version="1.0" encoding="UTF-8"?>
    <application-configuration>
      <properties>
        <property name="build-number">80009</property>
      </properties>
    </application-configuration> 
  4. Delete everything inside the following folders (but not the folders themselves):

    <bamboo-home>/caches/
    <bamboo-home>/temp/
    <bamboo-home>/index/
    <bamboo-home>/jms-store/
  5. Start Bamboo.

以上です!

最終更新日 2023 年 11 月 16 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.