Issue Summary
When post-bootstrap upgrade tasks fail the Bamboo UI is still accessible and the failure is unknown unless logging is reviewed. No build plans are accessible as the plan cache is disabled due to the application being in bootstrap limbo.
Steps to Reproduce
Reproduce using BAM-20391 steps: Upgrade task 60903 (Populate PLAN_NAME column in BRS table (post-bootstrap)) fails on Microsoft SQL Server
- Install Bamboo 6.8.1 connected to Microsoft SQL Server database
- Create a build plan
- Upgrade to Bamboo 6.9.0
Expected Results
Bamboo UI is inaccessible and post-bootstrap upgrade task errors are shown in the UI.
Actual Results
Bamboo UI is accessible and failure is unknown (aside from some functionality not working depending on which upgrade task fails).
Since upgrade failed, plan cache is disabled so no build plans are visible and the below is logged:
2019-04-07 18:47:16,086 WARN [http-nio-8085-exec-2] [ImmutablePlanCacheServiceImpl] Attempt to load plan PLAN-TITLE while cache is disabled
2019-04-07 18:47:16,087 ERROR [http-nio-8085-exec-2] [ImmutablePlanCacheServiceImpl]
com.atlassian.bamboo.plan.cache.ImmutablePlanCacheServiceImpl$PlanCacheDisabledException: Plan cache is disabled
at com.atlassian.bamboo.plan.cache.ImmutablePlanCacheServiceImpl$1.load(ImmutablePlanCacheServiceImpl.java:110)
at com.atlassian.bamboo.plan.cache.ImmutablePlanCacheServiceImpl$1.load(ImmutablePlanCacheServiceImpl.java:103)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
at com.atlassian.bamboo.utils.collections.AlwaysInvalidatingCacheDecorator.get(AlwaysInvalidatingCacheDecorator.java:65)
at com.atlassian.bamboo.utils.collections.AlwaysInvalidatingCacheDecorator.getUnchecked(AlwaysInvalidatingCacheDecorator.java:126)
at com.atlassian.bamboo.plan.cache.ImmutablePlanCacheServiceImpl.internalGetPlanByKey(ImmutablePlanCacheServiceImpl.java:487)
at com.atlassian.bamboo.plan.cache.ImmutablePlanCacheServiceImpl.getImmutablePlanByKey(ImmutablePlanCacheServiceImpl.java:231)
Workaround
N/A