Development Integration plugin gets stuck fetching updated issues from Bitbucket Server
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
Guaranteed Delivery feature that fetches information about updated issues from dev.tools such as Bitbucket, FeCru and Bamboo can get stuck looping over the same set of issues if there are more than 50 issues to fetch.
Symptoms:
Elevated consumption of resources on the database server
DefaultDevSummaryPollService.performPull
method is stuck in an endless loop, which can be seen in thread dumps:
"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)
Diagnosis
This issue was introduced in the Development Integration Plugin version 5.5.5 and has been fixed in the Development Integration Plugin version 5.5.6. To ensure this article covers the issue you're having, please determine if you have an earlier version of the Development Integration plugin.
Cause
A bug in the Development Integration plugin, which has been fixed in version 5.5.6 and higher. See JSWSERVER-20612 for details
Resolution
To solve this problem you can either upgrade your Jira Development Integration plugin to the relevant version or, if you've been planning to upgrade Jira anyway, you can upgrade your instance to Jira Software 8.5.6 or higher.
Upgrading the Jira Development Integration plugin
You can update the Jira Development Integration plugin manually through the Universal Plugin Manager. To do this, you must have the Jira sys admin global permission. Make sure you download the relevant version of the plugin for your current Jira version.
Download the relevant Jira Development Integration plugin from this link
In Jira, go to Cog Menu > Manage apps
Click Manage apps
Click Upload app
Upload the .obr file you've downloaded in step 1
You’re all set!
Note: While Jira may prompt you to reindex, you do not need to perform the reindex for the plugin to work correctly.
Instance upgrade
Jira Software Server and Data Center versions that will contain the upgrade:
Jira Software 8.5.6 and higher.
Follow your regular process to upgrade your instance.