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.

  1. Download the relevant Jira Development Integration plugin from this link

  2. In Jira, go to Cog Menu > Manage apps

  3. Click Manage apps

  4. Click Upload app

  5. 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.



DescriptionGuaranteed Delivery feature that fetches information about updated issues from dev.tools such Bitbucket, FeCru and Bamboo can get stuck looping over the same set of issues if there are more than 50 issues to fetch. Upgrade Jira or the development integration plugin to resolve the issue.
ProductJira, Jira Software
Last modified on Nov 23, 2020

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.