Incremental Indexing stuck when removing message of JournalEntry with type UPDATE_DOCUMENT

XMLWordPrintable

    • Severity 2 - Major

      Issue Summary

      Incremental Indexing stucking

      Steps to Reproduce

      1. Update DB directly to remove message field for 1 Journal Entry with type 
        UPDATE_DOCUMENT
      2. Reset journal number in Home Directory 

      Expected Results

      Incremental Indexing still process as normal 

      Actual Results

      Incremental Indexing is stuck

      12:10:41,033 WARN [Caesium-1-3] [impl.search.IndexFlushScheduler] lambda$new$1 Failed to flush index queue LuceneContentIndexFlusher, retry in 10s com.atlassian.confluence.internal.search.v2.lucene.LuceneException: java.lang.IllegalArgumentException: Index queue entry found with invalid handle:      at com.atlassian.confluence.internal.search.v2.lucene.LuceneConnection.withBatchUpdate(LuceneConnection.java:463)     at com.atlassian.confluence.internal.index.lucene.LuceneSearchIndexAccessor.withBatchUpdate(LuceneSearchIndexAccessor.java:164)     at com.atlassian.confluence.internal.search.LuceneIncrementalIndexManager.performFlush(LuceneIncrementalIndexManager.java:179)     at com.atlassian.confluence.internal.search.LuceneIncrementalIndexManager.flushQueue(LuceneIncrementalIndexManager.java:131)     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)     at java.base/java.lang.reflect.Method.invoke(Method.java:580)     at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)     at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)     at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380)     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)     at jdk.proxy3/jdk.proxy3.$Proxy293.flushQueue(Unknown Source)     at com.atlassian.confluence.impl.search.IndexFlushScheduler.lambda$new$1(IndexFlushScheduler.java:118)     at com.atlassian.confluence.impl.schedule.caesium.JobRunnerWrapper.doRunJob(JobRunnerWrapper.java:121)     at com.atlassian.confluence.impl.schedule.caesium.JobRunnerWrapper.runJob(JobRunnerWrapper.java:83)     at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService$JobRunnerWithStats.runJob(CaesiumSchedulerService.java:743)     at com.atlassian.scheduler.core.JobLauncher.runJob(JobLauncher.java:134)     at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(JobLauncher.java:106)     at com.atlassian.scheduler.core.JobLauncher.launch(JobLauncher.java:90)     at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.launchJob(CaesiumSchedulerService.java:545)     at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeLocalJobWithRetryOnFailure(CaesiumSchedulerService.java:500)     at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeQueuedJob(CaesiumSchedulerService.java:440)     at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeJob(SchedulerQueueWorker.java:66)     at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeNextJob(SchedulerQueueWorker.java:60)     at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.run(SchedulerQueueWorker.java:35)     at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.lang.IllegalArgumentException: Index queue entry found with invalid handle:      at com.atlassian.confluence.internal.search.queue.JournalIndexTaskQueue.getSearchableFromEntry(JournalIndexTaskQueue.java:67)     at com.atlassian.confluence.impl.search.queue.ContentIndexTaskQueue.toTask(ContentIndexTaskQueue.java:63)     at com.atlassian.confluence.impl.search.queue.ContentIndexTaskQueue.toTask(ContentIndexTaskQueue.java:27)     at com.atlassian.confluence.internal.search.queue.AbstractJournalIndexTaskQueue.lambda$flushAndExecute$1(AbstractJournalIndexTaskQueue.java:190)     at com.atlassian.confluence.impl.journal.DefaultJournalService.lambda$convert$0(DefaultJournalService.java:87)     at com.atlassian.confluence.impl.journal.DefaultJournalManager.processNewEntries(DefaultJournalManager.java:117)     at com.atlassian.confluence.impl.journal.DefaultJournalService.processNewEntries(DefaultJournalService.java:44)     at com.atlassian.confluence.impl.index.DefaultIndexJournalService.processNewEntries(DefaultIndexJournalService.java:52)     at com.atlassian.confluence.internal.search.queue.AbstractJournalIndexTaskQueue.flushAndExecute(AbstractJournalIndexTaskQueue.java:185)     at com.atlassian.confluence.internal.search.LuceneIncrementalIndexManager.lambda$flushAndExecuteInBatches$3(LuceneIncrementalIndexManager.java:237)     at com.atlassian.confluence.impl.hibernate.HibernateSessionManager5.executeThenClearSessionWithoutCommitOrFlush(HibernateSessionManager5.java:167)     at com.atlassian.confluence.internal.search.LuceneIncrementalIndexManager.flushAndExecuteInBatches(LuceneIncrementalIndexManager.java:234)     at com.atlassian.confluence.internal.search.LuceneIncrementalIndexManager.lambda$performFlush$1(LuceneIncrementalIndexManager.java:188)     at com.atlassian.confluence.internal.index.lucene.LuceneSearchIndexAccessor.lambda$execute$0(LuceneSearchIndexAccessor.java:137)     at com.atlassian.confluence.internal.search.v2.lucene.LuceneConnection.withWriter(LuceneConnection.java:436)     at com.atlassian.confluence.internal.search.v2.lucene.LuceneConnection.execute(LuceneConnection.java:648)     at com.atlassian.confluence.internal.index.lucene.LuceneSearchIndexAccessor.execute(LuceneSearchIndexAccessor.java:135)     at com.atlassian.confluence.internal.search.LuceneIncrementalIndexManager.lambda$performFlush$2(LuceneIncrementalIndexManager.java:179)     at com.atlassian.confluence.internal.search.v2.lucene.LuceneConnection.withBatchUpdate(LuceneConnection.java:461)     ... 27 more 

      Workaround

      Make sure all Journal Entry with type UPDATE_DOCUMENT having valid handle string
      Currently there is no known workaround for this behavior. A workaround will be added here when available

              Assignee:
              Duy Truong Luong
              Reporter:
              Duy Truong Luong
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: