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

Dev.Status can get stuck paging over issue updates from Bitbucket Server, Bamboo or Fecru and cause excessive load on database

      Issue Summary

      Whenever Jira misses enough issue updates from dev.tools so they don't fit into single fetch that Guaranteed Deliver does, it'll get stuck looping over results over and over.

      Steps to Reproduce

      1. Make Jira to miss enough updates from Bitbucket Server/Bamboo/FeCru so there are more than 50 issues to fetch
      2. Wait for Guaranteed delivery job to run

      Expected Results

      Jira catches up with missed updates.

      Actual Results

      Jira's stuck looping over the first page over and over
      Example of the thread dump with the stack trace:

      "Caesium-1-4" #442 daemon prio=5 os_prio=0 tid=0x00007fef0815d800 nid=0x1b93 runnable [0x00007fef0ccf3000]
         java.lang.Thread.State: RUNNABLE
      	at java.net.SocketInputStream.socketRead0(Native Method)
      ....
      	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1978)
      	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:309)
      	- locked <0x00000007b4fc0268> (a org.postgresql.core.v3.QueryExecutorImpl)
      	at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:446)
      	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:370)
      ...
      	at org.ofbiz.core.entity.jdbc.SQLProcessor.executeQuery(SQLProcessor.java:527)
      	at org.ofbiz.core.entity.GenericDAO.createEntityListIterator(GenericDAO.java:877)
      	at org.ofbiz.core.entity.GenericDAO.selectListIteratorByCondition(GenericDAO.java:857)
      	at org.ofbiz.core.entity.GenericDAO.selectByCondition(GenericDAO.java:795)
      	at org.ofbiz.core.entity.GenericDAO.selectByCondition(GenericDAO.java:775)
      	at org.ofbiz.core.entity.GenericHelperDAO.findByCondition(GenericHelperDAO.java:198)
      	at org.ofbiz.core.entity.GenericDelegator.findByCondition(GenericDelegator.java:1091)
      	at com.atlassian.jira.ofbiz.DefaultOfBizDelegator.findByCondition(DefaultOfBizDelegator.java:154)
      	at com.atlassian.jira.ofbiz.WrappingOfBizDelegator.findByCondition(WrappingOfBizDelegator.java:240)
      	at com.atlassian.jira.issue.managers.DefaultIssueManager.getPreviousIssueKeysForMovedIssues(DefaultIssueManager.java:453)
      	at com.atlassian.jira.issue.managers.DefaultIssueManager.getAllIssueKeys(DefaultIssueManager.java:439)
      	at com.atlassian.jira.issue.managers.RequestCachingIssueManager.getAllIssueKeys(RequestCachingIssueManager.java:175)
      ....
      	at com.atlassian.jira.plugin.devstatus.provider.IssueDataRequest.createRequest(IssueDataRequest.java:40)
      	at com.atlassian.jira.plugin.devstatus.provider.DefaultCachingProviderHelper.refresh(DefaultCachingProviderHelper.java:104)
      	at com.atlassian.jira.plugin.devstatus.provider.DefaultCachingProviderHelper.refreshProvider(DefaultCachingProviderHelper.java:68)
      	at com.atlassian.jira.plugin.devstatus.provider.DefaultDevSummaryPollService.handlePollingSuccess(DefaultDevSummaryPollService.java:71)
      	at com.atlassian.jira.plugin.devstatus.provider.DefaultDevSummaryPollService.lambda$performPull$1(DefaultDevSummaryPollService.java:52)
      	at com.atlassian.jira.plugin.devstatus.provider.DefaultDevSummaryPollService$$Lambda$11148/932905286.apply(Unknown Source)
      	at com.atlassian.jira.plugin.devstatus.provider.source.applink.PollResult$PollResultSuccess.fold(PollResult.java:51)
      	at com.atlassian.jira.plugin.devstatus.provider.DefaultDevSummaryPollService.performPull(DefaultDevSummaryPollService.java:50)
      	at com.atlassian.jira.plugin.devstatus.provider.DevSummaryUpdateJob$$Lambda$11014/704142687.accept(Unknown Source)
      ...
      	at com.atlassian.jira.plugin.devstatus.provider.DevSummaryUpdateJob.runJob(DevSummaryUpdateJob.java:85)
      ...
      	at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.run(SchedulerQueueWorker.java:35)
      	at java.lang.Thread.run(Thread.java:748)
      
      • Note: DefaultDevSummaryPollService.performPull, this method is stuck in endless loop.

      Workaround

      • Restart Jira to stop the thread with loop
      • To prevent future problems:
        • Change the system property for number of issues to be fetched. Set jira.devstatus.guaranteed.delivery.fetch.size to values of 500 or even higher.
        • Note: for system property changes to be applied a restart of Jira is required.

            [JSWSERVER-20612] Dev.Status can get stuck paging over issue updates from Bitbucket Server, Bamboo or Fecru and cause excessive load on database

            Mahtab added a comment - - edited

            FYI, If trying the workaround noted in this KB article:  Development Integration plugin gets stuck fetching updated issues from Bitbucket Server

            As version 5.7.1 is defective, upon uploading the 5.5.6 hotfix, the issue persists as Jira still points to the 5.7.1.

            If Jira finds two different versions of this jar file (jira-development-integration-plugin-xxx), it loads the highest version number. In that case:

             Check under the instlled-plugin folder, remove the defective jar file (5.7.1) version to a backup folder and make sure only the hotfix 5.5.6 remains in this folder. 

            JIRA-HOME/plugins/installed-plugins folder

            For Datacenter: Jira-SharedHome/plugins/installed-plugins

             

            Mahtab added a comment - - edited FYI, If trying the workaround noted in this KB article:   Development Integration plugin gets stuck fetching updated issues from Bitbucket Server As version 5.7.1 is defective, upon uploading the 5.5.6 hotfix, the issue persists as Jira still points to the 5.7.1. If Jira finds two different versions of this jar file (jira-development-integration-plugin-xxx), it loads the highest version number. In that case:  Check under the instlled-plugin folder, remove the defective jar file (5.7.1) version to a backup folder and make sure only the hotfix 5.5.6 remains in this folder.  JIRA-HOME/plugins/installed-plugins folder For Datacenter: Jira-SharedHome/plugins/installed-plugins  

            Hi everyone,

            The versions 8.5.6 and 8.10.1 are available for the download. You may also consider upgrading for the version 8.11.0 which also contains the fix.

            Cheers,
            Ignat Alexeyenko
            Senior Developer at Jira Server team.

            Ignat (Inactive) added a comment - Hi everyone, The versions 8.5.6 and 8.10.1 are available for the download. You may also consider upgrading for the version 8.11.0 which also contains the fix. Cheers, Ignat Alexeyenko Senior Developer at Jira Server team.

            When is v8.10.1 getting released for public to download?

            Anurag Jalan added a comment - When is v8.10.1 getting released for public to download?

              aermolenko Tony Miller
              aermolenko Tony Miller
              Affected customers:
              4 This affects my team
              Watchers:
              22 Start watching this issue

                Created:
                Updated:
                Resolved: