Jobs are being cancelled if number is bigger than "concurrent"-value

Hello,

Problem:
Pipeline gets cancelled immediately if there are more jobs/pipelines than the “concurrent” value in config.toml.

Expected behaviour:
The Jobs that can’t be executed immediately, are in “PENDING” state.

GitLab self hosted v16.1.2-ee.
GitLab-Runner self hosted on docker “latest” image.

config.toml:

concurrent = 3
check_interval = 0

[[runners]]
  name = "my_runner"
  url = "http://1.2.3.4"
  id = 201
  token = "xyz"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "ruby:2.7"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0

And the runner is up like shown in the screenshot.

I now do 3 commits one after another, just to test the runner. When there are only 3 Jobs running at once, it works fine.
But as soon as I do 2 more commits, the newly created pipelines are being cancelled immediately.

EDIT: not the newly created ones get cancelled, but the one before the new one. So the new one is in pending state, as expected, but the one that was running before it, gets cancelled.

I did docker logs -f but there is nothing besides the sucessful logs, I checked it for the Job-IDs of the failed Jobs, but there’s nothing.

I hope that is not the expected behaviour?

Best regards

Well, sometimes one has to write it out to set the ball rolling.

I was checking, whether my gitlab-version is outdated and checked the changelogs of the new version.

I there stumbled across this commit.

So I googled “redundant pipelines gitlab” and found out that one can disable the pipeline auto-canellation in the GitLab UI. This article shows how to do that.