Pipeline after force-push shows up on source branch repo, not target branch repo

Running 11.8 EE

Occasionally when I force-push a branch monitored by an existing MR (e.g., after a rebase onto the target branch), pipeline status does not show up in the merge request's status. The pipeline status for the MR is that of the previous pipeline. The pipeline itself is created and runs, but the MR never updates.

Summary

Occasionally when I force-push a branch monitored by an existing MR (e.g., after a rebase onto the target branch), pipeline status does not show up in the merge request's status. The pipeline status for the MR is that of the previous pipeline. The pipeline itself is created and runs, but the MR never updates.

Steps to reproduce

I have not gotten it down to 100% reproducible, but this pattern seems to provoke it:

  1. fork an existing repository that has CI defined
  2. create a branch in the fork from master
  3. make changes in fork:branch
  4. push fork:branch
  5. create merge request for fork:branch into upstream:master
  6. make changes in upstream:master and push
  7. pull upstream:master
  8. rebase fork:branch on upstream:master
  9. push fork:branch using --force-with-lease ==> should trigger pipeline and show up in MR
  10. repeat steps 6-9 until the MR does not show the pipeline occurring

Typically, I repeat steps 6-9 anywhere between 3-6 times before the pipeline stops showing up in the MR. The pipeline actually DOES get fired off, and sidekiq logs show recognition of the updates. The MR just doesn't get updated. (How one can reproduce the issue - this is very important)

What is the current bug behavior?

MR does not update with current pipeline.

What is the expected correct behavior?

MR should always reflect status of current pipeline.

Relevant logs and/or screenshots

(Paste any relevant logs - please use code blocks (```) to format console output, logs, and code as it's very hard to read otherwise.)

Output of checks

(If you are reporting a bug on GitLab.com, write: This bug happens on GitLab.com)

Results of GitLab environment info

Please advise what commands need to be run because I will have to have an admin run them.

Expand for output related to GitLab environment info

(For installations with omnibus-gitlab package run and paste the output of: sudo gitlab-rake gitlab:env:info)

(For installations from source run and paste the output of: sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production)

Results of GitLab application Check

Please advise what commands need to be run because I will have to have an admin run them.

Expand for output related to the GitLab application check

(For installations with omnibus-gitlab package run and paste the output of: sudo gitlab-rake gitlab:check SANITIZE=true)

(For installations from source run and paste the output of: sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true)

(we will only investigate if the tests are passing)

Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Assignee Loading
Time tracking Loading