Group Permissions are overriding Project Permissions

We have a weird issue, whereby the group permissions if they are lower than project permissions are limiting a users abilities in a project to the lower permission set. I think this started happening late in the v7.x versions. We’re currently running the latest 8.16.4, installed via Debian package.

Originally this system had gitlab installed via the bash scripts, converted to omnibus package following the guide on, including migrating from MySQL to PostgreSQL. It had however been running perfectly fine for around a year without any permission issues. It’s possible that some migrations were not completed properly, we have on at least one occasion managed to run out of memory and swap whilst the gitlab package upgraded, but I’m pretty sure it was only on the package extract phase. The gitlab service was restarted and the package upgrade rerun and completed successfully.

Anyway to elucidate the issue here’s an example:

User jeff is a member of Group ‘internal-projects’ as a developer.
An admin grants jeff ‘Owner’ permissions on secret-project under the internal-projects namespace.

Jeff tries to push the initial version of the repo to the project, but gets permission denied.

The only way that Jeff can push to master in that project, is to increase his permission level in the group to master or owner.

Any ideas?