Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-2152

Indexer is not thread safe

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Medium
    • 2.0 beta 8, 2.0
    • 2.0 beta 2
    • None
    • None

    Description

      While looking through logs, found that build expiry was throwing exceptions:

      2008-01-12 00:00:23,686 ERROR [QuartzScheduler_Worker-0] [JobRunShell] Job DEFAULT.removeExpiredBuilds threw an unhandled Exception:
      org.apache.lucene.store.AlreadyClosedException: this IndexReader is closed
      at org.apache.lucene.index.IndexReader.ensureOpen(IndexReader.java:128)
      at org.apache.lucene.index.IndexReader.termDocs(IndexReader.java:579)
      at org.apache.lucene.search.TermQuery$TermWeight.scorer(TermQuery.java:64)
      at org.apache.lucene.search.BooleanQuery$BooleanWeight.scorer(BooleanQuery.java:233)
      at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:143)
      at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:113)
      at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:74)
      at org.apache.lucene.search.Hits.hitDoc(Hits.java:154)
      at org.apache.lucene.search.Hits.id(Hits.java:131)
      at org.apache.lucene.search.Hit.getId(Hit.java:77)
      at com.atlassian.bamboo.index.DefaultBuildResultsIndexer.deIndexBuildResults(DefaultBuildResultsIndexer.java:328)
      at com.atlassian.bamboo.resultsummary.BuildResultsSummaryManagerImpl.removeBuildResult(BuildResultsSummaryManagerImpl.java:190)
      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:585)
      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:30)
      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 $Proxy10.removeBuildResult(Unknown Source)
      at com.atlassian.bamboo.build.expiry.BuildExpiryBean.expireBuild(BuildExpiryBean.java:172)
      at com.atlassian.bamboo.build.expiry.BuildExpiryBean.expireAllBuilds(BuildExpiryBean.java:88)
      at com.atlassian.bamboo.build.expiry.ExpiredBuildCleaner.execute(ExpiredBuildCleaner.java:25)
      at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
      at com.atlassian.bamboo.quartz.SystemAuthorizedThreadPool$1.run(SystemAuthorizedThreadPool.java:36)
      at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
      2008-01-12 00:00:23,791 ERROR [QuartzScheduler_Worker-0] [ErrorLogger] Job (DEFAULT.removeExpiredBuilds threw an exception.
      org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: org.apache.lucene.store.AlreadyClosedException: this IndexReader is closed]
      at org.quartz.core.JobRunShell.run(JobRunShell.java:214)
      at com.atlassian.bamboo.quartz.SystemAuthorizedThreadPool$1.run(SystemAuthorizedThreadPool.java:36)
      at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)

      • Nested Exception (Underlying Cause) ---------------
        org.apache.lucene.store.AlreadyClosedException: this IndexReader is closed
        at org.apache.lucene.index.IndexReader.ensureOpen(IndexReader.java:128)
        at org.apache.lucene.index.IndexReader.termDocs(IndexReader.java:579)
        at org.apache.lucene.search.TermQuery$TermWeight.scorer(TermQuery.java:64)
        at org.apache.lucene.search.BooleanQuery$BooleanWeight.scorer(BooleanQuery.java:233)
        at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:143)
        at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:113)
        at org.apache.lucene.search.Hits.getMoreDocs(Hits.java:74)
        at org.apache.lucene.search.Hits.hitDoc(Hits.java:154)
        at org.apache.lucene.search.Hits.id(Hits.java:131)
        at org.apache.lucene.search.Hit.getId(Hit.java:77)
        at com.atlassian.bamboo.index.DefaultBuildResultsIndexer.deIndexBuildResults(DefaultBuildResultsIndexer.java:328)
        at com.atlassian.bamboo.resultsummary.BuildResultsSummaryManagerImpl.removeBuildResult(BuildResultsSummaryManagerImpl.java:190)
        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:585)
        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:30)
        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 $Proxy10.removeBuildResult(Unknown Source)
        at com.atlassian.bamboo.build.expiry.BuildExpiryBean.expireBuild(BuildExpiryBean.java:172)
        at com.atlassian.bamboo.build.expiry.BuildExpiryBean.expireAllBuilds(BuildExpiryBean.java:88)
        at com.atlassian.bamboo.build.expiry.ExpiredBuildCleaner.execute(ExpiredBuildCleaner.java:25)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
        at com.atlassian.bamboo.quartz.SystemAuthorizedThreadPool$1.run(SystemAuthorizedThreadPool.java:36)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)

      Attachments

        Issue Links

          Activity

            People

              mark@atlassian.com MarkC
              edwin@atlassian.com edwin
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: