2018-06-18: 11.0 RC14 exception request for https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/19946

Exception request

Why it needs to be picked

This is a very small change that solves one edge case which has crazy implications for scalability of CI. With making paused runners to follow long polling we reduced pressure generated by idle runners on Unicorn, by 90-94% (it varies depending on time of day).

This is already patched on production (https://dev.gitlab.org/gitlab/post-deployment-patches/merge_requests/70), and this change is needed to make CI be performant on GitLab.com.

The code path changes only a handling of paused runners. It does not affect any other runners used with GitLab.

Since this is needed by production anyway, so it reduces the hurdle of manual patching post-deployment.

Potential negative impact of picking

This is already tested, by CI: related MR is merged, it is deployed: we run that on production for about 20h as of now. We did not hear any problems. We see that average load on API nodes did drop (during idle time from ~3 to ~2).

In the worst case scenario, this can be reverted, as this is a minimal change that affects only inactive runners. Impact? pretty much none, as these runners do not process any jobs. Users did deliberately pause them to use probably other runners.

It was already approved and deployed by @stanhu.

Sign-off

The following need to provide initial approval for this exception request:

If you are the last person to provide initial approval, assign this issue to the VPE for his approval:

After the VPE approves, check that the following is accurate before closing this issue:

Edited by Mayra Cabrera