GitLab application limits

GitLab, like most large applications, enforces limits within certain features to maintain a minimum quality of performance. Allowing some features to be limitless could affect security, performance, data, or could even exhaust the allocated resources for the application.

Number of comments per issue, merge request or commit

Introduced in GitLab 12.4.

There’s a limit to the number of comments that can be submitted on an issue, merge request, or commit. When the limit is reached, system notes can still be added so that the history of events is not lost, but user-submitted comments will fail.

  • Max limit: 5.000 comments

Number of pipelines per Git push

Introduced in GitLab 11.10.

The number of pipelines that can be created in a single push is 4. This is to prevent the accidental creation of pipelines when git push --all or git push --mirror is used.

Read more in the CI documentation.

Retention of activity history

Introduced in GitLab 8.12.

Activity history for projects and individuals’ profiles was limited to one year until GitLab 11.4 when it was extended to two years, and in GitLab 12.4 to three years.

Number of project webhooks

Introduced in GitLab 12.6.

A maximum number of project webhooks applies to each tier. Check the Maximum number of webhooks (per tier) section in the Webhooks page.

CI/CD limits

Number of jobs in active pipelines

Introduced in GitLab 12.6.

The total number of jobs in active pipelines can be limited per project. This limit is checked each time a new pipeline is created. An active pipeline is any pipeline in one of the following states:

  • created
  • pending
  • running

If a new pipeline would cause the total number of jobs to exceed the limit, the pipeline will fail with a job_activity_limit_exceeded error.

  • On different limits are defined per plan and they affect all projects under that plan.
  • On GitLab Starter tier or higher self-hosted installations, this limit is defined for the default plan that affects all projects. This limit is disabled by default.

To set this limit on a self-hosted installation, run the following in the GitLab Rails console:

# If limits don't exist for the default plan, you can create one with:
# Plan.default.create_limits!

Plan.default.limits.update!(ci_active_jobs: 500)

Set the limit to 0 to disable it.