-
Notifications
You must be signed in to change notification settings - Fork 16
Description
Hi,
cc @bturner for ideas and suggestions
we started to see a performance issue with our Bitbucket servers, there seems to be correlation with installing version 2.5.0 of the plugin.
We use Bitbucket Data center edition, which means that all the Git repositories are on NFS, which is relatively slow.
There are many hundreds of open pull requests on the server; on build status updates PR Harmony checks all of them if they contain the commit of the status update (to do the automerges). This kicks off many"git rev-list" processes (for prService.streamCommits I guess) that, due to NFS, complete very slowly. On one build status update through the REST API sometimes we see that running all these git commands can take overall 16 seconds).
To make things worse, most projects build many variants which finish roughly the same time, so they all update the build statuses the same time, amplifying the delay - in some cases it takes 20 minutes between the last build status update and its last related "git rev-parse" completing. During this time (due to the Bitbucket internal "ticket" system) other operations can get blocked, people's "git push"-es "hanging" because of the server waiting for a new ticket to execute the post request hooks.
But this could be avoided as we have no projects/repos at all configured for PR Harmony automerges, i.e. all those checks could be completely skipped.
Would it be possible to enhance PR harmony to check the if the repo of the actual PR has any automerge branch configured and skip the commit checks if there are none? Or for a way to just disable the automerge feature?
Thanks,
Istvan