Details
-
Bug
-
Resolution: Duplicate
-
Low
-
None
-
2.6, 3.0
-
None
-
None
Description
Bamboo licenses have a maintenance expiry date. Builds newer than the license's maintenance expiry date fail to start.
Plugin developer licenses set the maintenance limit to 3h in the future. Therefore, builds with a timestamp of >3h in the future fail to start on a plugin developer license. The logic that evaluates whether an instance's maintenance period has expired does not take timezones into account. Therefore, if you build a Bamboo release in Sydney and, within a few hours, attempt to start it in the US on a plugin dev license, you will hit the failure below. We run into this regularly in Studio builds after upgrading Bamboo (because the CI agents are in the US).
2011-06-01 02:51:20,071 FATAL [main] [BootstrapLoaderListener] An error was encountered while bootstrapping Bamboo (see below): Unable to bootstrap Bamboo: Unable to run pre-bootstrap upgrade tasks as your support period has ended. Please contact Atlassian and https://support.atlassian.com java.lang.IllegalStateException: Unable to bootstrap Bamboo: Unable to run pre-bootstrap upgrade tasks as your support period has ended. Please contact Atlassian and https://support.atlassian.com at com.atlassian.bamboo.setup.BootstrapLoaderListener.contextInitialized(BootstrapLoaderListener.java:63) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:583) 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) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
The build timestamp is written to bamboo-api/com.atlassian.bamboo.util.BuildUtils, which is generated at build time.
The maintenance limit verification logic is in bamboo-license/com.atlassian.bamboo.license.BambooLicenseManagerImpl.isMaintenanceExpiredForBuild().
One solution would be to update these to be timezone-aware.
Attachments
Issue Links
- duplicates
-
BAM-8968 Store/parse date in BuildUtils using consistent timezone (ie, UTC)
- Closed