Skip to content

Batch Changes changeset rate limiting / scheduling

Created by: sourcegraph-bot

Motivation

Large customers need to be able to create a large number of large batch changes, which will create load on their codehost and CI systems. Clogging the CI pipeline would create a very bad experience for a batch change user, and could even result in batch changes being disabled or its use limited.

Problem

Rate limiting is already implemented to limit load on codehosts. However, when users apply large batch changes, many CI runs will be triggered. Depending on the complexity of the change, it can create a significant load on CI.

Besides, some companies have policies to not allow automation to open changesets during working hours so as to guarantee faster runs and a better experience for human users.

Batch Changes needs to:

  • limit the overall amount of changesets opened in a time period

  • abide by CI schedules for automation

Solution

Site admins can define rate limits and schedules.

RFC 325 APPROVED: progressive campaign rollout, part 1: global settings

RFC ticket

Implementation ticket