Skip to content

Performance issues on build status updates #71

@Pistahh

Description

@Pistahh

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions