Issue Summary
Expiry and Notifications in Bamboo 6.8.0 can fail with LazyInitializationException
Steps to Reproduce
There are unknown data conditions around pre-existing variable data. It doesn't affect all instances
- Enable scheduled global expiry or manually run expiry
Expected Results
Expiry completes.
Actual Results
The below exception is thrown in the atlassian-bamboo.log file:
2019-11-15 00:00:38,491 INFO [scheduler_Worker-4] [JobRunShell] Job ExpiryGroup.ExpiryJob threw a JobExecutionException: org.quartz.JobExecutionException: java.util.concurrent.ExecutionException: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.atlassian.bamboo.variable.baseline.VariableContextBaselineImpl.variables, could not initialize proxy - no Session [See nested exception: java.util.concurrent.ExecutionException: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.atlassian.bamboo.variable.baseline.VariableContextBaselineImpl.variables, could not initialize proxy - no Session] at com.atlassian.bamboo.build.expiry.ExpirySchedulerImpl$ExpiryJob.execute(ExpirySchedulerImpl.java:139) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:48) at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:26) at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:17) at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:41) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) Caused by: java.util.concurrent.ExecutionException: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.atlassian.bamboo.variable.baseline.VariableContextBaselineImpl.variables, could not initialize proxy - no Session at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at com.atlassian.bamboo.build.expiry.ExpirySchedulerImpl$ExpiryJob.execute(ExpirySchedulerImpl.java:123) ... 6 more Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.atlassian.bamboo.variable.baseline.VariableContextBaselineImpl.variables, could not initialize proxy - no Session at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:597) at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:216) at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:576) at org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:147) at org.hibernate.collection.internal.PersistentBag.toArray(PersistentBag.java:309) at com.google.common.collect.Iterables.toArray(Iterables.java:328) at com.google.common.collect.Ordering.immutableSortedCopy(Ordering.java:842) at com.atlassian.bamboo.variable.baseline.VariableContextBaselineImpl.getVariables(VariableContextBaselineImpl.java:89) at com.atlassian.bamboo.deployments.versions.DeploymentVersionImpl.<init>(DeploymentVersionImpl.java:48) at com.atlassian.bamboo.deployments.versions.service.DeploymentVersionServiceImpl.getDeploymentVersion(DeploymentVersionServiceImpl.java:927) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) at com.atlassian.bamboo.deployments.versions.service.DeploymentVersionServiceImpl.findVersionsBetween(DeploymentVersionServiceImpl.java:739) at com.atlassian.bamboo.deployments.versions.service.DeploymentVersionLinkedJiraIssuesServiceImpl.compareVersionsByJiraIssues(DeploymentVersionLinkedJiraIssuesServiceImpl.java:146) at com.atlassian.bamboo.deployments.versions.service.DeploymentVersionLinkedJiraIssuesServiceImpl.getIssuesChangedForDeploymentResult(DeploymentVersionLinkedJiraIssuesServiceImpl.java:133) at com.atlassian.bamboo.deployments.results.service.DeploymentResultDeletionServiceImpl.delete(DeploymentResultDeletionServiceImpl.java:77) at sun.reflect.GeneratedMethodAccessor4348.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:197) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at com.atlassian.bamboo.security.acegi.intercept.aopalliance.AuthorityOverrideMethodSecurityInterceptor.invoke(AuthorityOverrideMethodSecurityInterceptor.java:24) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy312.delete(Unknown Source) at com.atlassian.bamboo.deployments.expiry.DeploymentExpiryServiceImpl.expireDeploymentResult(DeploymentExpiryServiceImpl.java:309) at com.atlassian.bamboo.deployments.expiry.DeploymentExpiryServiceImpl.expireDeploymentProject(DeploymentExpiryServiceImpl.java:222) at com.atlassian.bamboo.deployments.expiry.DeploymentExpiryServiceImpl.lambda$triggerDeploymentsExpiration$0(DeploymentExpiryServiceImpl.java:112) 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 com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:48) at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:26) at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:17) at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:41) at java.lang.Thread.run(Thread.java:748)
Workaround
None
- causes
-
BSP-44555 Loading...
- duplicates
-
BDEV-15203 Loading...