Uploaded image for project: 'Jira Software Data Center'
  1. Jira Software Data Center
  2. JSWSERVER-16106

Development Integration Plugin might create large number of ListenableFutureAdapter threads

      Problem Summary

      JIRA Software Development Integration Plugin might create large number of ListenableFutureAdapter threads (10k+) and that cause JIRA to stall and crash.

      Environment

      • Instances with a large amount of issues (1 million+) and linked to (D)VCS accounts.

      Steps to Reproduce

      1. Create instances with a large amount of issues
      2. Link to DVCS accounts with valid content (Bitbucket server or other)
      3. Trigger web-hook update-summary to update many issues (5k+) Dev-status

      Expected Behavior

      JIRA operates normally

      Actual Behavior

      If large number of issues are requested to update Dev-status, there will be large number ListenableFutureAdapter threads and whole JIRA instance stalls and crashes.

      Other symptoms:

      • High CPU utilizations
      • High disk activity due to active Lucene reindexing.

      Notes

      • Thread dump collected during that time will show large number of ListenableFutureAdapter threads with following stack:
        "ListenableFutureAdapter-thread-104090" #334429 daemon prio=5 os_prio=0 tid=0x00007fad7867c000 nid=0x6d9a waiting on condition [0x00007fa9db473000]
           java.lang.Thread.State: WAITING (parking)
                at sun.misc.Unsafe.park(Native Method)
                - parking to wait for  <0x00000005cf1b7fb0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
                at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
                at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
                at _hostname_19(LinkedBlockingQueue.java:350)
                at com.atlassian.jira.index.QueueingIndex.perform(QueueingIndex.java:74)
                at com.atlassian.jira.issue.index.DefaultIssueIndexer$2.perform(DefaultIssueIndexer.java:198)
        ...
                at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssues(DefaultIndexManager.java:426)
                at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssueObjects(DefaultIndexManager.java:455)
        ...
                at com.atlassian.jira.plugin.devstatus.provider.source.cache.DevSummaryStore.reIndex(DevSummaryStore.java:117)
                at com.atlassian.jira.plugin.devstatus.provider.source.cache.CachingProviderDecorator$StoreValueInCache.apply(CachingProviderDecorator.java:321)
                at com.atlassian.jira.plugin.devstatus.provider.source.cache.CachingProviderDecorator$StoreValueInCache.apply(CachingProviderDecorator.java:208)
                at com.google.common.util.concurrent.Futures$4.apply(Futures.java:503)
        ...
                at com.google.common.util.concurrent.JdkFutureAdapters$ListenableFutureAdapter$1.run(JdkFutureAdapters.java:152)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                at _hostname_2(Thread.java:745)
        
      • REST API webhooks /rest/dev-status/1.0/webhooks/update-summary

      Workaround

      • Reduce number of webhooks call
      • Disable Development Integration Plugin (com.atlassian.jira.plugin.devstatus)

          Form Name

            [JSWSERVER-16106] Development Integration Plugin might create large number of ListenableFutureAdapter threads

            gregadamson added a comment - - edited

            As a developer, I've found that Blazor's ability to use C# for both client and server sides has significantly streamlined my projects. This unified approach not only enhances productivity but also ensures a consistent codebase, making maintenance more straightforward. For anyone considering blazor custom software development, Blazor offers a robust and efficient framework that leverages existing .NET expertise.

            gregadamson added a comment - - edited As a developer, I've found that Blazor's ability to use C# for both client and server sides has significantly streamlined my projects. This unified approach not only enhances productivity but also ensures a consistent codebase, making maintenance more straightforward. For anyone considering blazor custom software development , Blazor offers a robust and efficient framework that leverages existing .NET expertise.
            gregadamson made changes -
            Comment [ As a developer, I've found that Blazor's ability to use C# for both client and server sides has significantly streamlined my projects. This unified approach not only enhances productivity but also ensures a consistent codebase, making maintenance more straightforward. For anyone considering [blazor custom software development|[https://www.abtosoftware.com/blog/blazor-for-cross-platform-development]], Blazor offers a robust and efficient framework that leverages existing .NET expertise. ]
            Bugfix Automation Bot made changes -
            Minimum Version New: 6.04
            Owen made changes -
            Workflow Original: JAC Bug Workflow v2 [ 2853368 ] New: JAC Bug Workflow v3 [ 2938125 ]
            Status Original: Resolved [ 5 ] New: Closed [ 6 ]
            Owen made changes -
            Symptom Severity Original: Major [ 14431 ] New: Severity 2 - Major [ 15831 ]
            Owen made changes -
            Workflow Original: JIRA Bug Workflow w Kanban v7 - Restricted [ 2546144 ] New: JAC Bug Workflow v2 [ 2853368 ]
            Ignat (Inactive) made changes -
            Workflow Original: JIRA Bug Workflow w Kanban v6 - Restricted [ 2438452 ] New: JIRA Bug Workflow w Kanban v7 - Restricted [ 2546144 ]

            aermolenko kmarszalek104235168

            Yes, it goes to the 7.2.12.

            Piotr Ackermann (Inactive) added a comment - aermolenko kmarszalek104235168 Yes, it goes to the 7.2.12.
            Tony Miller made changes -
            Resolution New: Fixed [ 1 ]
            Status Original: Verified [ 10005 ] New: Resolved [ 5 ]
            SET Analytics Bot made changes -
            UIS Original: 18 New: 14

              Unassigned Unassigned
              ayakovlev@atlassian.com Andriy Yakovlev [Atlassian]
              Affected customers:
              2 This affects my team
              Watchers:
              15 Start watching this issue

                Created:
                Updated:
                Resolved: