Integrated: 1565: Only poll for updated MRs from GitLab

Erik Joelsson erikj at
Tue Sep 20 23:42:06 UTC 2022

On Fri, 2 Sep 2022 22:08:08 GMT, Erik Joelsson <erikj at> wrote:

> This is another rather big patch, but again, with some explanation, it shouldn't be too scary. The most important part is the new `PullRequestPoller` class. This class implements a polling mechanism for PullRequests that tries to only return new or updated pull requests to a bot and guaranteeing that none are missed. The goal is to minimize unnecessary evaluations that currently take place, especially when polling Gitlab. I have added quite a few tests to verify (almost) all the functionality of the poller. For a more detailed explanation of all the challenges this poller faces, see the bug description.
> In order to reduce impact, I'm not actually making any bot use the new poller yet. I'm filing followup issues to convert them one by one, at least to start. The retry and quarantine features in the poller should cover the current needs for the bots I have inspected.
> Most of the rest of the changes are just adding `equals` and `hashCode` to a bunch of classes that we now need to compare (to know if a PR has been updated or not). This includes the `GitHubPullrequest`, `GitLabMergeRequest` and all the JSON types. For test code this also includes the `TestPullRequest` and `TestIssue` and their related data classes.
> To test this properly, I needed to refactor some test classes. This work was moved to a separate change in SKARA-1589.

This pull request has now been integrated.

Changeset: ca8d09a2
Author:    Erik Joelsson <erikj at>
Stats:     867 lines in 17 files changed: 859 ins; 0 del; 8 mod

1565: Only poll for updated MRs from GitLab

Reviewed-by: ihse



More information about the skara-dev mailing list