Uploaded image for project: 'Jira Service Management Data Center'
  1. Jira Service Management Data Center
  2. JSDSERVER-6417

Indexing fails when SLA timeline becomes too big

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 4.4.0
    • 3.16.0, 3.16.1, 4.0.0, 4.1.0, 3.16.3, 4.2.0
    • SLA

    Description

      When SLA timeline grows to a certain size, Lucene cannot update the document index.

      [c.a.jira.index.AccumulatingResultBuilder] Document contains at least one immense term in field="customfield_10104_timeline" (whose UTF8 encoding is longer than the max length 32766), all of which were skipped. Please correct the analyzer to not produce such terms. The prefix of the first immense term is: '[123, 34, 101, 118, 101, 110, 116, 115, 34, 58, 91, 123, 34, 100, 97, 116, 101, 34, 58, 49, 53, 53, 55, 50, 56, 49, 53, 51, 54, 48]...', original message: bytes can be at most 32766 in length; got 81012java.lang.IllegalArgumentException: Document contains at least one immense term in field="customfield_10104_timeline" (whose UTF8 encoding is longer than the max length 32766), all of which were skipped. Please correct the analyzer to not produce such terms. The prefix of the first immense term is: '[123, 34, 101, 118, 101, 110, 116, 115, 34, 58, 91, 123, 34, 100, 97, 116, 101, 34, 58, 49, 53, 53, 55, 50, 56, 49, 53, 51, 54, 48]...', original message: bytes can be at most 32766 in length; got 81012 at org.apache.lucene.index.DefaultIndexingChain$PerField.invert(DefaultIndexingChain.java:796) at org.apache.lucene.index.DefaultIndexingChain.processField(DefaultIndexingChain.java:430) at org.apache.lucene.index.DefaultIndexingChain.processDocument(DefaultIndexingChain.java:392) at org.apache.lucene.index.DocumentsWriterPerThread.updateDocument(DocumentsWriterPerThread.java:240) at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:497) at org.apache.lucene.index.IndexWriter.updateDocument(IndexWriter.java:1729) at com.atlassian.jira.index.WriterWrapper.updateDocuments(WriterWrapper.java:85) at com.atlassian.jira.index.Operations$Update.perform(Operations.java:176) at com.atlassian.jira.index.Operations$Completion.perform(Operations.java:280) at com.atlassian.jira.index.DefaultIndexEngine$FlushPolicy.perform(DefaultIndexEngine.java:76) at com.atlassian.jira.index.DefaultIndexEngine.write(DefaultIndexEngine.java:138) at com.atlassian.jira.index.DefaultIndex.perform(DefaultIndex.java:28) at com.atlassian.jira.issue.index.DefaultIssueIndexer.lambda$reindexIssues$1(DefaultIssueIndexer.java:233) at com.atlassian.jira.issue.index.DefaultIssueIndexer.lambda$null$2(DefaultIssueIndexer.java:372) at com.atlassian.jira.index.SimpleIndexingStrategy.apply(SimpleIndexingStrategy.java:7) at com.atlassian.jira.index.SimpleIndexingStrategy.apply(SimpleIndexingStrategy.java:5) at com.atlassian.jira.issue.index.DefaultIssueIndexer.lambda$perform$3(DefaultIssueIndexer.java:370) at com.atlassian.jira.util.collect.CollectionUtil.foreach(CollectionUtil.java:39) at com.atlassian.jira.util.collect.CollectionUtil.foreach(CollectionUtil.java:52) at com.atlassian.jira.issue.util.IssueObjectIssuesIterable.foreach(IssueObjectIssuesIterable.java:24) at com.atlassian.jira.issue.index.DefaultIssueIndexer.perform(DefaultIssueIndexer.java:342) at com.atlassian.jira.issue.index.DefaultIssueIndexer.reindexIssues(DefaultIssueIndexer.java:217) at com.atlassian.jira.issue.index.DefaultTemporaryIndexProvider.indexIssuesAndSearch(DefaultTemporaryIndexProvider.java:127) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at com.sun.proxy.$Proxy448.indexIssuesAndSearch(Unknown Source) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy5383.indexIssuesAndSearch(Unknown Source) at com.atlassian.servicedesk.internal.sla.goal.GoalMatcherImpl.indexAndGetMatchingGoal(GoalMatcherImpl.java:56) at com.atlassian.servicedesk.internal.sla.goal.SlaUpdateManagerImpl.updateOngoingSLAState(SlaUpdateManagerImpl.java:226) at com.atlassian.servicedesk.internal.sla.goal.SlaUpdateManagerImpl.updateSla(SlaUpdateManagerImpl.java:191) at com.atlassian.servicedesk.internal.sla.data.SlaDataManagerImpl.processSlaUpdate(SlaDataManagerImpl.java:519) at com.atlassian.servicedesk.internal.sla.data.SlaDataManagerImpl.processEventForTimeMetric(SlaDataManagerImpl.java:340) at com.atlassian.servicedesk.internal.sla.data.SlaDataManagerImpl.processSlaDataUpdate(SlaDataManagerImpl.java:273) at com.atlassian.servicedesk.internal.sla.data.SlaDataManagerImpl.processSlasFromIssueEvent(SlaDataManagerImpl.java:137) at com.atlassian.servicedesk.internal.sla.listener.SlaCycleUpdaterImpl.processServiceDeskProjectEvent(SlaCycleUpdaterImpl.java:255) at com.atlassian.servicedesk.internal.sla.listener.SlaCycleUpdaterImpl.lambda$processEvent$11(SlaCycleUpdaterImpl.java:228) at io.atlassian.fugue.Option$Some.fold(Option.java:444) at com.atlassian.servicedesk.internal.sla.listener.SlaCycleUpdaterImpl.processEvent(SlaCycleUpdaterImpl.java:226) at com.atlassian.servicedesk.internal.sla.listener.SlaCycleUpdaterImpl.lambda$null$3(SlaCycleUpdaterImpl.java:122) at com.atlassian.servicedesk.internal.util.SafeRunner.runAlways(SafeRunner.java:58) at com.atlassian.servicedesk.internal.sla.listener.SlaCycleUpdaterImpl.lambda$onIssueChangedEvent$4(SlaCycleUpdaterImpl.java:118) at com.atlassian.servicedesk.internal.api.util.fp.InternalFpKit.lambda$runnableToNoExceptionsCallable$8(InternalFpKit.java:185) at com.atlassian.servicedesk.internal.utils.context.ServiceDeskOutsideCustomerPermissionContext.inOutsideCustomerContext(ServiceDeskOutsideCustomerPermissionContext.java:64) at com.atlassian.servicedesk.internal.utils.context.OffThreadEventListenerContextHelper.lambda$buildWithContext$1(OffThreadEventListenerContextHelper.java:47) at com.atlassian.servicedesk.internal.api.util.fp.InternalFpKit.lambda$runnableToNoExceptionsCallable$8(InternalFpKit.java:185) at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:136) at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:89) at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47) at com.atlassian.servicedesk.internal.utils.context.OffThreadEventListenerContextHelper.lambda$buildWithContext$3(OffThreadEventListenerContextHelper.java:53) at com.atlassian.ozymandias.SafePluginPointAccess.runnable(SafePluginPointAccess.java:404) at com.atlassian.servicedesk.plugins.base.internal.events.ServiceDeskOnCompletionExpectationManagerImpl.safeRun(ServiceDeskOnCompletionExpectationManagerImpl.java:473) at com.atlassian.servicedesk.plugins.base.internal.events.ServiceDeskOnCompletionExpectationManagerImpl.lambda$runAndMarkEventExpectationMetOffThreadWithIssueStriping$4(ServiceDeskOnCompletionExpectationManagerImpl.java:237) at com.atlassian.ozymandias.SafePluginPointAccess.runnable(SafePluginPointAccess.java:404) at com.atlassian.servicedesk.plugins.base.internal.events.psmq.OffThreadEventJobRunner.safeRun(OffThreadEventJobRunner.java:314) at com.atlassian.servicedesk.plugins.base.internal.events.psmq.OffThreadEventJobRunner.lambda$processJob$9(OffThreadEventJobRunner.java:236) at com.atlassian.pocketknife.step.OptionStep2.lambda$null$0(OptionStep2.java:20) at io.atlassian.fugue.Option$Some.fold(Option.java:444) at io.atlassian.fugue.Option.flatMap(Option.java:274) at com.atlassian.pocketknife.step.OptionStep2.lambda$then$1(OptionStep2.java:20) at io.atlassian.fugue.Option$Some.fold(Option.java:444) at io.atlassian.fugue.Option.flatMap(Option.java:274) at com.atlassian.pocketknife.step.OptionStep2.then(OptionStep2.java:20) at com.atlassian.servicedesk.plugins.base.internal.events.psmq.OffThreadEventJobRunner.processJob(OffThreadEventJobRunner.java:234) at com.atlassian.servicedesk.plugins.base.internal.events.psmq.OffThreadEventJobRunner.lambda$offThreadExecution$6(OffThreadEventJobRunner.java:194) at java.util.Optional.map(Optional.java:215) at com.atlassian.servicedesk.plugins.base.internal.events.psmq.OffThreadEventJobRunner.offThreadExecution(OffThreadEventJobRunner.java:194) at com.atlassian.servicedesk.plugins.base.internal.events.psmq.OffThreadEventJobRunner.lambda$accessQueueAndProcessJobs$5(OffThreadEventJobRunner.java:176) at com.atlassian.jira.util.thread.OffRequestThreadExecutorImpl.execute(OffRequestThreadExecutorImpl.java:30) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at com.sun.proxy.$Proxy351.execute(Unknown Source) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy1560.execute(Unknown Source) at com.atlassian.servicedesk.plugins.base.internal.events.psmq.OffThreadEventJobRunner.accessQueueAndProcessJobs(OffThreadEventJobRunner.java:174) at com.atlassian.servicedesk.plugins.base.internal.events.psmq.OffThreadEventJobRunner.lambda$runTaskInQueue$3(OffThreadEventJobRunner.java:152) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 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 java.lang.Thread.run(Thread.java:748)Caused by: org.apache.lucene.util.BytesRefHash$MaxBytesLengthExceededException: bytes can be at most 32766 in length; got 81012 at org.apache.lucene.util.BytesRefHash.add(BytesRefHash.java:263) at org.apache.lucene.index.TermsHashPerField.add(TermsHashPerField.java:151) at org.apache.lucene.index.DefaultIndexingChain$PerField.invert(DefaultIndexingChain.java:786) ... 120 more
      

       

      The complete SLA timeline (i.e. all START, STOP events for an SLE) is stored as a document field and is used to determine the last complete cycle during report rendering.

       

      Attachments

        Issue Links

          Activity

            People

              mreil1 Markus Reil (Inactive)
              mreil1 Markus Reil (Inactive)
              Votes:
              2 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Backbone Issue Sync