Unable to delete OAuth applications via UI and API

Summary

As part of rotating an OAuth credential, deletion of an old credential is failing in both UI and API:

UI request logs:

https://log.gprd.gitlab.net/app/discover#/doc/7092c4e2-4eb5-46f2-8305-a7da2edad090/pubsub-rails-inf-gprd-015595?id=_-fUI4cBqTObID11CSq5

The API resulted in 500 Internal Server Error.

Steps to reproduce

Steps to delete from UI:

  1. Login as an administrator
  2. On the top bar, select Main menu > Admin
  3. On the left sidebar, select Applications
  4. Identify the old OAuth app
  5. Click 'Destroy'

Steps to delete from API:

Example Project

What is the current bug behavior?

What is the expected correct behavior?

Relevant logs and/or screenshots

Output of checks

Results of GitLab environment info

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

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