Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-34845

ConcurrentModificationException upon restoring data and reindexing

    XMLWordPrintable

Details

    • 6
    • Severity 1 - Critical
    • Hide
      Atlassian Update – 06 December 2017

      Hi everyone,

      We have recently reviewed this issue and the overall interest in the problem. As the issue hasn't collect votes, watchers, comments, or support cases from many customers during its lifetime, it's very low on our priority list, and will not be fixed in the foreseeable future. That's why we've decided to resolve it as Time Out.

      Although we're aware the issue is still important to those of you who were involved in the conversations around it, we want to be clear in managing your expectations. The Jira team is focusing on issues that have broad impact and high value, reflected by the number of comments, votes, support cases, and customers interested. Please consult the Atlassian Bugfix Policy for more details.

      We understand how disappointing this decision may be, but we hope you'll appreciate our transparent approach and communication.
      Atlassian will continue to watch this issue for further updates, so please feel free to share your thoughts in the comments.
      Thank you,
      Ignat Alexeyenko
      Jira Bugmaster

      Show
      Atlassian Update – 06 December 2017 Hi everyone, We have recently reviewed this issue and the overall interest in the problem. As the issue hasn't collect votes, watchers, comments, or support cases from many customers during its lifetime, it's very low on our priority list, and will not be fixed in the foreseeable future. That's why we've decided to resolve it as Time Out . Although we're aware the issue is still important to those of you who were involved in the conversations around it, we want to be clear in managing your expectations. The Jira team is focusing on issues that have broad impact and high value, reflected by the number of comments, votes, support cases, and customers interested. Please consult the Atlassian Bugfix Policy for more details. We understand how disappointing this decision may be, but we hope you'll appreciate our transparent approach and communication. Atlassian will continue to watch this issue for further updates, so please feel free to share your thoughts in the comments. Thank you, Ignat Alexeyenko Jira Bugmaster

    Description

      Stack trace

      [INFO] [talledLocalContainer] 2013-09-17 11:32:41,319 JiraImportTaskExecutionThread-1 ERROR admin 690x7114x1 4vsah9 0:0:0:0:0:0:0:1%0 /secure/admin/XmlRestore.jspa [jira.bc.dataimport.DefaultDataImportService] Error importing data: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.util.ConcurrentModificationException
      [INFO] [talledLocalContainer] java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.util.ConcurrentModificationException
      [INFO] [talledLocalContainer] at com.atlassian.jira.index.FutureResult.await(FutureResult.java:35)
      [INFO] [talledLocalContainer] at com.atlassian.jira.index.CompositeResultBuilder$CompositeResult.await(CompositeResultBuilder.java:82)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIndexManager.doIndexIssuesInBatchMode(DefaultIndexManager.java:857)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIndexManager.doStopTheWorldReindex(DefaultIndexManager.java:827)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexAll(DefaultIndexManager.java:337)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexAll(DefaultIndexManager.java:303)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIndexManager.activate(DefaultIndexManager.java:283)
      [INFO] [talledLocalContainer] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      [INFO] [talledLocalContainer] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      [INFO] [talledLocalContainer] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      [INFO] [talledLocalContainer] at java.lang.reflect.Method.invoke(Method.java:597)
      [INFO] [talledLocalContainer] at com.atlassian.util.profiling.object.ObjectProfiler.profiledInvoke(ObjectProfiler.java:83)
      [INFO] [talledLocalContainer] at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:28)
      [INFO] [talledLocalContainer] at com.sun.proxy.$Proxy156.activate(Unknown Source)
      [INFO] [talledLocalContainer] at com.atlassian.jira.util.index.CompositeIndexLifecycleManager.activate(CompositeIndexLifecycleManager.java:119)
      [INFO] [talledLocalContainer] at com.atlassian.jira.bc.dataimport.DefaultDataImportService.reindex(DefaultDataImportService.java:970)
      [INFO] [talledLocalContainer] at com.atlassian.jira.bc.dataimport.DefaultDataImportService.performImport(DefaultDataImportService.java:707)
      [INFO] [talledLocalContainer] at com.atlassian.jira.bc.dataimport.DefaultDataImportService.doImport(DefaultDataImportService.java:273)
      [INFO] [talledLocalContainer] at com.atlassian.jira.web.action.setup.DataImportAsyncCommand.call(DataImportAsyncCommand.java:66)
      [INFO] [talledLocalContainer] at com.atlassian.jira.web.action.setup.DataImportAsyncCommand.call(DataImportAsyncCommand.java:29)
      [INFO] [talledLocalContainer] at com.atlassian.jira.task.ImportTaskManagerImpl$TaskCallableDecorator.call(ImportTaskManagerImpl.java:146)
      [INFO] [talledLocalContainer] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      [INFO] [talledLocalContainer] at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      [INFO] [talledLocalContainer] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
      [INFO] [talledLocalContainer] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      [INFO] [talledLocalContainer] at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      [INFO] [talledLocalContainer] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      [INFO] [talledLocalContainer] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      [INFO] [talledLocalContainer] at java.lang.Thread.run(Thread.java:680)
      [INFO] [talledLocalContainer] Caused by: java.util.concurrent.ExecutionException: java.util.ConcurrentModificationException
      [INFO] [talledLocalContainer] at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
      [INFO] [talledLocalContainer] at java.util.concurrent.FutureTask.get(FutureTask.java:83)
      [INFO] [talledLocalContainer] at com.atlassian.jira.index.FutureResult.await(FutureResult.java:31)
      [INFO] [talledLocalContainer] ... 28 more
      [INFO] [talledLocalContainer] Caused by: java.util.ConcurrentModificationException
      [INFO] [talledLocalContainer] at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:373)
      [INFO] [talledLocalContainer] at java.util.LinkedHashMap$ValueIterator.next(LinkedHashMap.java:388)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.link.DefaultIssueLinkTypeManager.buildIssueLinkTypes(DefaultIssueLinkTypeManager.java:182)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.link.DefaultIssueLinkTypeManager.getIssueLinkTypes(DefaultIssueLinkTypeManager.java:176)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.link.DefaultIssueLinkTypeManager.getIssueLinkType(DefaultIssueLinkTypeManager.java:67)
      [INFO] [talledLocalContainer] at sun.reflect.GeneratedMethodAccessor757.invoke(Unknown Source)
      [INFO] [talledLocalContainer] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      [INFO] [talledLocalContainer] at java.lang.reflect.Method.invoke(Method.java:597)
      [INFO] [talledLocalContainer] at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
      [INFO] [talledLocalContainer] at com.sun.proxy.$Proxy133.getIssueLinkType(Unknown Source)
      [INFO] [talledLocalContainer] at sun.reflect.GeneratedMethodAccessor757.invoke(Unknown Source)
      [INFO] [talledLocalContainer] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      [INFO] [talledLocalContainer] at java.lang.reflect.Method.invoke(Method.java:597)
      [INFO] [talledLocalContainer] at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154)
      [INFO] [talledLocalContainer] at com.sun.proxy.$Proxy133.getIssueLinkType(Unknown Source)
      [INFO] [talledLocalContainer] at com.atlassian.greenhopper.service.issuelink.EpicLinkTypeServiceImpl.getOrCreateEpicLinkType(EpicLinkTypeServiceImpl.java:33)
      [INFO] [talledLocalContainer] at com.atlassian.greenhopper.manager.issuelink.EpicLinkManagerImpl.getEpicLinkType(EpicLinkManagerImpl.java:495)
      [INFO] [talledLocalContainer] at com.atlassian.greenhopper.manager.issuelink.EpicLinkManagerImpl.getEpic(EpicLinkManagerImpl.java:81)
      [INFO] [talledLocalContainer] at com.atlassian.greenhopper.customfield.epiclink.EpicLinkCFType.getValueFromIssue(EpicLinkCFType.java:254)
      [INFO] [talledLocalContainer] at com.atlassian.greenhopper.customfield.epiclink.EpicLinkCFType.getValueFromIssue(EpicLinkCFType.java:35)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.fields.CustomFieldImpl.getValue(CustomFieldImpl.java:395)
      [INFO] [talledLocalContainer] at com.atlassian.greenhopper.customfield.epiclink.EpicLinkCustomFieldIndexer.addIndex(EpicLinkCustomFieldIndexer.java:41)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.IssueDocument.getDocument(IssueDocument.java:41)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory.get(DefaultIssueDocumentFactory.java:15)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory.get(DefaultIssueDocumentFactory.java:11)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIssueIndexer$IssueLockDocumentCreationStrategy$2.get(DefaultIssueIndexer.java:598)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIssueIndexer$IssueLockDocumentCreationStrategy$2.get(DefaultIssueIndexer.java:593)
      [INFO] [talledLocalContainer] at com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:303)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIssueIndexer$IssueLockDocumentCreationStrategy.get(DefaultIssueIndexer.java:592)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIssueIndexer$IndexIssuesOperation.perform(DefaultIssueIndexer.java:446)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIssueIndexer$4$1.get(DefaultIssueIndexer.java:284)
      [INFO] [talledLocalContainer] at com.atlassian.jira.issue.index.DefaultIssueIndexer$4$1.get(DefaultIssueIndexer.java:280)
      [INFO] [talledLocalContainer] at com.atlassian.jira.index.SimpleIndexingStrategy.get(SimpleIndexingStrategy.java:9)
      [INFO] [talledLocalContainer] at com.atlassian.jira.index.SimpleIndexingStrategy.get(SimpleIndexingStrategy.java:5)
      [INFO] [talledLocalContainer] at com.atlassian.jira.index.MultiThreadedIndexingStrategy$1.call(MultiThreadedIndexingStrategy.java:38)
      [INFO] [talledLocalContainer] at com.atlassian.jira.index.MultiThreadedIndexingStrategy$1.call(MultiThreadedIndexingStrategy.java:35)
      [INFO] [talledLocalContainer] at com.atlassian.jira.util.concurrent.BoundedExecutor$2.call(BoundedExecutor.java:69)
      

      Appears to be caused by the cache inside the IssueLinkTypeManager being concurrently read and modified.

      Seen when running JIRA locally (atlas-debug) and after having restored data a few times (not 100% reproducible).

      Restore/re-index operation appears to continue and succeed.

      Attachments

        Activity

          People

            Unassigned Unassigned
            mtokar Michael Tokar
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: