Details
-
Bug
-
Resolution: Fixed
-
High
-
None
Description
2014-04-22 23:37:48,783 INFO [QuartzScheduler_Worker-10] [DeletionServiceImpl] Deleting 4006 stage(s) marked for deletion 2014-04-22 23:37:48,785 INFO [QuartzScheduler_Worker-10] [PlanManagerImpl] Removing 1 stage(s) for plan AMKT-TRUNK31 2014-04-22 23:37:48,814 ERROR [QuartzScheduler_Worker-10] [DeletionServiceImpl] Unable to complete delayed deletion: java.lang.NullPointerException at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:187) at com.atlassian.bamboo.utils.BambooPredicates$HasBambooObjectEqualIdPredicate.apply(BambooPredicates.java:306) at com.atlassian.bamboo.utils.BambooPredicates$HasBambooObjectEqualIdPredicate.apply(BambooPredicates.java:295) at com.google.common.collect.Iterators.removeIf(Iterators.java:213) at com.google.common.collect.Iterables.removeIf(Iterables.java:184) at com.atlassian.bamboo.plan.AbstractChain.removeStage(AbstractChain.java:76) at com.atlassian.bamboo.plan.PlanManagerImpl.removeStages(PlanManagerImpl.java:448) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.atlassian.bamboo.security.acegi.intercept.aopalliance.AuthorityOverrideMethodSecurityInterceptor.invoke(AuthorityOverrideMethodSecurityInterceptor.java:29) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy47.removeStages(Unknown Source) at com.atlassian.bamboo.deletion.DeletionServiceImpl.executeDelayedDeletion(DeletionServiceImpl.java:502) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.atlassian.bamboo.security.acegi.intercept.aopalliance.AuthorityOverrideMethodSecurityInterceptor.invoke(AuthorityOverrideMethodSecurityInterceptor.java:29) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy106.executeDelayedDeletion(Unknown Source) at com.atlassian.bamboo.deletion.DeletionServiceJob.execute(DeletionServiceJob.java:26) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:49) at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:31) at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:20) at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:52) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
Looking at the code it seems to me that a chain contains a null stage - strange.
Impact: according to the code, only jobs (and potentially some stages) marked for deletion will be cleaned up, but not top level plans or projects.
Looking at the database now ...