Database table warning after update: WARNING: Active Record does not support composite primary key.

Summary

I did an update from 15.0.5 to 15.4.3 on a self managed (Omnibus) Gitlab EE server. I have followed recommended upgrade path form here. Update was successful, no clear error or warning was shown. Now I am getting this error when executing rails commands, for example, when opening rails console:

--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
 GitLab:       15.4.3-ee (6d3a9676394) EE
 GitLab Shell: 14.10.0
 PostgreSQL:   12.10
------------------------------------------------------------[ booted in 81.88s ]
WARNING: Active Record does not support composite primary key.

security_findings has composite primary key. Composite primary key is ignored.
WARNING: Active Record does not support composite primary key.

security_findings has composite primary key. Composite primary key is ignored.
Loading production environment (Rails 6.1.6.1)
irb(main):001:0>

It seems like security_findings table is not properly migrated. Is it serious and should I revert to my old version? How to fix this issue?

Steps to reproduce

  1. Install Gitlab EE 15.0.5
  2. Upgrade to Gitlab EE 15.4.3
  3. Run sudo gitlab-rails console

What is the current bug behavior?

Warning message is shown. Documentation does not cover how to solve this.

What is the expected correct behavior?

No warning messages.

Results of GitLab environment info

Expand for output related to GitLab environment info
user@server:~$ sudo gitlab-rake gitlab:env:info

System information
System:         Ubuntu 20.04
Proxy:          no
Current User:   git
Using RVM:      no
Ruby Version:   2.7.5p203
Gem Version:    3.1.6
Bundler Version:2.3.15
Rake Version:   13.0.6
Redis Version:  6.2.7
Sidekiq Version:6.4.2
Go Version:     unknown

GitLab information
Version:        15.4.3-ee
Revision:       6d3a9676394
Directory:      /opt/gitlab/embedded/service/gitlab-rails
DB Adapter:     PostgreSQL
DB Version:     12.10
URL:            https://REDACTED
HTTP Clone URL: https://REDACTED/some-group/some-project.git
SSH Clone URL:  git@REDACTED:some-group/some-project.git
Elasticsearch:  no
Geo:            no
Using LDAP:     yes
Using Omniauth: yes
Omniauth Providers:

GitLab Shell
Version:        14.10.0
Repository storage paths:
- default:      /var/opt/gitlab/git-data/repositories
GitLab Shell path:              /opt/gitlab/embedded/service/gitlab-shell

Results of GitLab application Check

Expand for output related to the GitLab application check

user@server:~$ sudo gitlab-rake gitlab:check SANITIZE=true Checking GitLab subtasks ...

Checking GitLab Shell ...

GitLab Shell: ... GitLab Shell version >= 14.10.0 ? ... OK (14.10.0) Running /opt/gitlab/embedded/service/gitlab-shell/bin/check Internal API available: OK Redis available via internal API: OK gitlab-shell self-check successful

Checking GitLab Shell ... Finished

Checking Gitaly ...

Gitaly: ... default ... OK

Checking Gitaly ... Finished

Checking Sidekiq ...

Sidekiq: ... Running? ... yes Number of Sidekiq processes (cluster/worker) ... 1/1

Checking Sidekiq ... Finished

Checking Incoming Email ...

Incoming Email: ... Reply by email is disabled in config/gitlab.yml

Checking Incoming Email ... Finished

Checking LDAP ...

LDAP: ... Server: ldapmain LDAP authentication... Success LDAP users with access to your GitLab server (only showing the first 100 results) User output sanitized. Found 100 users of 100 limit.

Checking LDAP ... Finished

Checking GitLab App ...

Database config exists? ... yes All migrations up? ... yes Database contains orphaned GroupMembers? ... no GitLab config exists? ... yes GitLab config up to date? ... yes Log directory writable? ... yes Tmp directory writable? ... yes Uploads directory exists? ... yes Uploads directory has correct permissions? ... yes Uploads directory tmp has correct permissions? ... yes Systemd unit files or init script exist? ... skipped (omnibus-gitlab has neither init script nor systemd units) Systemd unit files or init script up-to-date? ... skipped (omnibus-gitlab has neither init script nor systemd units) Projects have namespace: ... 2/1 ... yes 2/2 ... yes 2/3 ... yes 2/4 ... yes 15/5 ... yes 2/6 ... yes 2/7 ... yes 16/8 ... yes 17/9 ... yes 22/12 ... yes 15/13 ... yes 24/14 ... yes 26/15 ... yes 29/16 ... yes 30/17 ... yes 24/18 ... yes 18/19 ... yes 17/20 ... yes 32/21 ... yes 32/22 ... yes 32/23 ... yes 32/25 ... yes 32/26 ... yes 15/27 ... yes 34/28 ... yes 2/29 ... yes 34/30 ... yes 15/31 ... yes 15/32 ... yes 39/33 ... yes 39/34 ... yes 39/35 ... yes 17/36 ... yes 40/37 ... yes 40/38 ... yes 41/39 ... yes 41/40 ... yes 24/41 ... yes 42/42 ... yes 26/43 ... yes 15/44 ... yes 26/45 ... yes 43/46 ... yes 43/47 ... yes 18/48 ... yes 45/49 ... yes 39/50 ... yes 39/51 ... yes 26/52 ... yes 26/53 ... yes 47/54 ... yes 47/55 ... yes 18/56 ... yes 2/57 ... yes 2/58 ... yes 26/59 ... yes 49/60 ... yes 49/61 ... yes 50/62 ... yes 50/63 ... yes 18/64 ... yes 49/65 ... yes 2/66 ... yes 253/67 ... yes 15/68 ... yes 253/69 ... yes 26/70 ... yes 26/71 ... yes 18/72 ... yes 84/73 ... yes 49/74 ... yes 26/75 ... yes 49/76 ... yes 3/77 ... yes 26/78 ... yes 33/79 ... yes 33/81 ... yes 33/82 ... yes 2/83 ... yes 33/84 ... yes 33/85 ... yes 49/86 ... yes 26/87 ... yes 22/89 ... yes 90/91 ... yes 26/92 ... yes 26/93 ... yes 26/94 ... yes 26/95 ... yes 26/96 ... yes 15/97 ... yes 15/98 ... yes 15/99 ... yes 15/100 ... yes 33/101 ... yes 107/103 ... yes 2/104 ... yes 26/105 ... yes 114/108 ... yes 33/109 ... yes 114/110 ... yes 115/111 ... yes 33/112 ... yes 3/113 ... yes 26/114 ... yes 253/115 ... yes 2/116 ... yes 116/117 ... yes 121/118 ... yes 123/119 ... yes 2/120 ... yes 123/121 ... yes 114/122 ... yes 125/123 ... yes 125/124 ... yes 126/125 ... yes 126/126 ... yes 126/127 ... yes 126/128 ... yes 127/129 ... yes 127/130 ... yes 127/131 ... yes 127/132 ... yes 127/133 ... yes 127/135 ... yes 127/136 ... yes 127/137 ... yes 127/138 ... yes 128/139 ... yes 128/141 ... yes 128/142 ... yes 115/143 ... yes 114/144 ... yes 114/145 ... yes 114/146 ... yes 114/147 ... yes 114/148 ... yes 144/149 ... yes 144/150 ... yes 114/151 ... yes 129/152 ... yes 114/153 ... yes 114/154 ... yes 144/155 ... yes 130/156 ... yes 114/157 ... yes 114/158 ... yes 114/159 ... yes 114/160 ... yes 115/161 ... yes 129/162 ... yes 114/163 ... yes 144/164 ... yes 114/165 ... yes 115/167 ... yes 114/168 ... yes 114/169 ... yes 114/170 ... yes 114/171 ... yes 114/172 ... yes 114/173 ... yes 114/174 ... yes 115/175 ... yes 115/176 ... yes 110/177 ... yes 384/178 ... yes 126/179 ... yes 130/180 ... yes 130/181 ... yes 114/182 ... yes 115/183 ... yes 384/184 ... yes 131/185 ... yes 131/186 ... yes 131/187 ... yes 131/188 ... yes 131/189 ... yes 125/190 ... yes 132/191 ... yes 132/192 ... yes 132/193 ... yes 133/194 ... yes 114/195 ... yes 253/196 ... yes 3/197 ... yes 297/218 ... yes 132/240 ... yes 132/241 ... yes 143/242 ... yes 143/243 ... yes 126/244 ... yes 144/245 ... yes 126/246 ... yes 15/247 ... yes 123/248 ... yes 16/249 ... yes 102/250 ... yes 146/253 ... yes 116/254 ... yes 146/255 ... yes 107/256 ... yes 151/257 ... yes 151/258 ... yes 151/263 ... yes 131/266 ... yes 2/269 ... yes 144/270 ... yes 127/271 ... yes 155/272 ... yes 2/274 ... yes 77/281 ... yes 146/284 ... yes 45/288 ... yes 159/289 ... yes 39/290 ... yes 160/291 ... yes 2/292 ... yes 108/293 ... yes 163/294 ... yes 163/295 ... yes 163/296 ... yes 163/297 ... yes 163/298 ... yes 15/299 ... yes 15/300 ... yes 7/302 ... yes 165/304 ... yes 166/306 ... yes 82/307 ... yes 15/308 ... yes 52/309 ... yes 173/310 ... yes 49/311 ... yes 166/313 ... yes 16/316 ... yes 126/317 ... yes 126/318 ... yes 126/319 ... yes 126/320 ... yes 126/321 ... yes 173/322 ... yes 126/325 ... yes 4/328 ... yes 166/329 ... yes 58/332 ... yes 173/333 ... yes 52/334 ... yes 146/339 ... yes 115/340 ... yes 176/341 ... yes 176/343 ... yes 146/344 ... yes 146/345 ... yes 125/352 ... yes 384/354 ... yes 176/362 ... yes 176/363 ... yes 176/364 ... yes 3/366 ... yes 176/367 ... yes 176/368 ... yes 151/373 ... yes 49/374 ... yes 52/375 ... yes 173/376 ... yes 52/377 ... yes 191/378 ... yes 191/379 ... yes 115/380 ... yes 125/381 ... yes 191/382 ... yes 191/384 ... yes 191/385 ... yes 49/387 ... yes 69/389 ... yes 107/390 ... yes 200/391 ... yes 191/393 ... yes 207/395 ... yes 207/396 ... yes 2/397 ... yes 125/398 ... yes 132/400 ... yes 115/401 ... yes 110/402 ... yes 176/403 ... yes 212/405 ... yes 207/409 ... yes 207/410 ... yes 237/413 ... yes 239/414 ... yes 115/415 ... yes 19/416 ... yes 212/417 ... yes 240/418 ... yes 237/419 ... yes 176/420 ... yes 2/423 ... yes 2/427 ... yes 126/429 ... yes 52/430 ... yes 199/432 ... yes 17/433 ... yes 207/434 ... yes 207/435 ... yes 176/437 ... yes 52/439 ... yes 2/440 ... yes 207/441 ... yes 244/442 ... yes 244/443 ... yes 166/444 ... yes 116/446 ... yes 212/447 ... yes 110/448 ... yes 15/449 ... yes 121/451 ... yes 284/452 ... yes 212/453 ... yes 2/458 ... yes 49/459 ... yes 173/460 ... yes 110/461 ... yes 244/462 ... yes 126/463 ... yes 234/464 ... yes 260/466 ... yes 260/467 ... yes 260/468 ... yes 115/469 ... yes 126/470 ... yes 115/471 ... yes 47/474 ... yes 49/475 ... yes 244/477 ... yes 52/478 ... yes 184/479 ... yes 266/481 ... yes 2/482 ... yes 132/483 ... yes 297/485 ... yes 49/487 ... yes 49/488 ... yes 15/489 ... yes 115/490 ... yes 244/491 ... yes 2/494 ... yes 125/495 ... yes 115/498 ... yes 272/499 ... yes 166/500 ... yes 284/501 ... yes 17/503 ... yes 15/504 ... yes 17/505 ... yes 49/506 ... yes 260/507 ... yes 274/508 ... yes 284/509 ... yes 284/510 ... yes 115/511 ... yes 260/514 ... yes 284/516 ... yes 284/517 ... yes 7/519 ... yes 284/521 ... yes 110/522 ... yes 143/523 ... yes 15/525 ... yes 283/526 ... yes 283/529 ... yes 49/531 ... yes 284/532 ... yes 284/533 ... yes 52/534 ... yes 115/535 ... yes 196/537 ... yes 49/538 ... yes 115/543 ... yes 17/544 ... yes 260/545 ... yes 125/546 ... yes 15/547 ... yes 15/548 ... yes 10/549 ... yes 17/550 ... yes 185/551 ... yes 15/554 ... yes 15/555 ... yes 184/560 ... yes 166/561 ... yes 278/562 ... yes 125/563 ... yes 127/564 ... yes 302/566 ... yes 117/568 ... yes 320/569 ... yes 318/570 ... yes 321/571 ... yes 322/572 ... yes 2/574 ... yes 321/575 ... yes 322/576 ... yes 126/577 ... yes 185/578 ... yes 327/580 ... yes 325/581 ... yes 115/582 ... yes 15/584 ... yes 15/585 ... yes 278/587 ... yes 176/588 ... yes 278/589 ... yes 382/590 ... yes 333/591 ... yes 2/592 ... yes 17/593 ... yes 339/596 ... yes 49/597 ... yes 17/598 ... yes 49/599 ... yes 321/600 ... yes 185/601 ... yes 321/602 ... yes 319/603 ... yes 260/604 ... yes 316/606 ... yes 339/607 ... yes 49/608 ... yes 49/609 ... yes 368/610 ... yes 368/611 ... yes 368/612 ... yes 370/614 ... yes 370/615 ... yes 370/616 ... yes 370/617 ... yes 370/618 ... yes 370/619 ... yes 370/620 ... yes 370/621 ... yes 370/622 ... yes 370/623 ... yes 370/624 ... yes 370/625 ... yes 370/626 ... yes 370/627 ... yes 370/628 ... yes 370/629 ... yes 370/630 ... yes 370/631 ... yes 370/632 ... yes 371/633 ... yes 371/634 ... yes 371/635 ... yes 371/636 ... yes 371/637 ... yes 371/638 ... yes 371/639 ... yes 371/640 ... yes 371/641 ... yes 371/642 ... yes 371/643 ... yes 371/644 ... yes 371/645 ... yes 371/646 ... yes 371/647 ... yes 371/648 ... yes 371/649 ... yes 371/650 ... yes 371/651 ... yes 371/652 ... yes 371/653 ... yes 371/654 ... yes 371/655 ... yes 371/656 ... yes 371/657 ... yes 371/658 ... yes 371/659 ... yes 374/660 ... yes 374/661 ... yes 374/662 ... yes 372/663 ... yes 372/664 ... yes 372/665 ... yes 372/666 ... yes 372/667 ... yes 372/668 ... yes 372/669 ... yes 372/670 ... yes 372/671 ... yes 372/672 ... yes 372/673 ... yes 372/674 ... yes 372/675 ... yes 372/676 ... yes 372/677 ... yes 372/678 ... yes 372/679 ... yes 372/680 ... yes 372/681 ... yes 372/682 ... yes 372/683 ... yes 372/684 ... yes 372/685 ... yes 372/686 ... yes 372/687 ... yes 372/688 ... yes 372/689 ... yes 372/690 ... yes 372/691 ... yes 372/692 ... yes 372/693 ... yes 372/694 ... yes 376/695 ... yes 376/696 ... yes 376/697 ... yes 376/698 ... yes 376/699 ... yes 376/700 ... yes 376/701 ... yes 376/702 ... yes 376/703 ... yes 376/704 ... yes 375/705 ... yes 375/706 ... yes 375/707 ... yes 375/708 ... yes 377/709 ... yes 377/710 ... yes 377/711 ... yes 377/712 ... yes 377/713 ... yes 377/714 ... yes 377/715 ... yes 368/716 ... yes 368/717 ... yes 368/718 ... yes 368/719 ... yes 368/720 ... yes 368/721 ... yes 368/722 ... yes 368/723 ... yes 378/724 ... yes 378/725 ... yes 17/727 ... yes 6/728 ... yes 125/730 ... yes 382/731 ... yes 384/732 ... yes 386/733 ... yes 74/734 ... yes 74/735 ... yes 17/736 ... yes 319/737 ... yes 126/738 ... yes 126/739 ... yes 351/740 ... yes 321/742 ... yes 388/743 ... yes 115/744 ... yes 17/745 ... yes 126/747 ... yes 15/748 ... yes 122/749 ... yes 49/750 ... yes 278/751 ... yes 395/752 ... yes 395/753 ... yes 6/754 ... yes 397/755 ... yes 84/756 ... yes 52/757 ... yes 84/758 ... yes 410/760 ... yes 184/761 ... yes 410/762 ... yes 380/763 ... yes 107/764 ... yes 419/765 ... yes 421/767 ... yes 420/769 ... yes 126/771 ... yes 15/772 ... yes 250/773 ... yes 396/774 ... yes 125/775 ... yes 125/776 ... yes 117/777 ... yes 319/778 ... yes 232/779 ... yes 431/782 ... yes 244/783 ... yes 126/784 ... yes 126/785 ... yes 126/786 ... yes 435/788 ... yes 125/790 ... yes 49/791 ... yes 439/792 ... yes 7/793 ... yes 191/794 ... yes 446/795 ... yes 125/796 ... yes 17/797 ... yes 115/799 ... yes 420/800 ... yes 420/801 ... yes 49/802 ... yes 455/803 ... yes 131/806 ... yes 49/807 ... yes 193/808 ... yes 429/809 ... yes 429/810 ... yes 431/811 ... yes 463/812 ... yes 467/813 ... yes 15/814 ... yes 283/815 ... yes 468/816 ... yes 468/817 ... yes 468/818 ... yes 475/819 ... yes 283/820 ... yes 49/821 ... yes 283/822 ... yes 84/823 ... yes 74/824 ... yes 490/825 ... yes 446/830 ... yes 492/832 ... yes 490/838 ... yes 283/842 ... yes 512/843 ... yes 512/844 ... yes 512/845 ... yes 512/846 ... yes 512/847 ... yes 512/848 ... yes 512/849 ... yes 512/850 ... yes 351/851 ... yes 512/852 ... yes 512/853 ... yes 490/854 ... yes 125/855 ... yes 351/857 ... yes 177/858 ... yes 420/860 ... yes 84/861 ... yes 49/862 ... yes 339/863 ... yes 549/864 ... yes 490/865 ... yes 126/866 ... yes 535/867 ... yes 490/868 ... yes 490/869 ... yes 260/870 ... yes 283/872 ... yes 512/873 ... yes 379/874 ... yes 132/875 ... yes 115/876 ... yes 49/877 ... yes 52/878 ... yes 539/879 ... yes 49/880 ... yes 115/881 ... yes 549/882 ... yes 449/883 ... yes 490/884 ... yes 49/885 ... yes 244/888 ... yes 122/890 ... yes 31/891 ... yes 31/892 ... yes 347/893 ... yes 126/894 ... yes 561/895 ... yes 561/896 ... yes 2/897 ... yes 476/898 ... yes 549/899 ... yes 565/900 ... yes 421/901 ... yes 512/902 ... yes 512/903 ... yes 122/904 ... yes 565/905 ... yes 322/906 ... yes 512/907 ... yes Redis version >= 6.0.0? ... yes Ruby version >= 2.7.2 ? ... yes (2.7.5) Git user has default SSH configuration? ... yes Active users: ... 278 Is authorized keys file accessible? ... yes GitLab configured to store new projects in hashed storage? ... yes All projects are in hashed storage? ... yes Elasticsearch version 7.x-8.x or OpenSearch version 1.x ... skipped (Advanced Search is disabled)

Checking GitLab App ... Finished

Checking GitLab subtasks ... Finished

Edited by Karolis