GitlabPostReceive fails to create sidekiq job when pushing lots of tags
I want to import an existing project with more than 1,000 tags into gitlab.
I create the project in gitlab, add the ssh URL as a new remote in my local copy, and try to push master and tags:
git push --tags gitlab master
Output contains:
remote: GitLab: An unexpected error occurred (redis-cli returned 127).
To git@git.example.com:group/project.git
- [new branch] master -> master
- [new tag] tag1 -> tag1 …more than 1,000 other [new tag] stuff…
I end up with an inconsistent project in gitlab.
Project activity does not show John Doe pushed new branch/tag… activities, and of the 4 numbers on the right, only commits is updated; branches tags and size are all 0:
In Commits section, tabs have the right numbers (1 branch and 1,230 tags), and branch tab displays master correctly, but tags tab is empty:
If I delete and recreate project, but only push master branch without tags, everything is fine: John Doe pushed new branch… activities are created, numbers are correct…
I double-checked path to redis-cli in gitlab-shell/config.yml and it is correct (and it works anyway if I don't push tags).
I set gitlab-shell logs to DEBUG level and did not see anything relevant.
I changed /dev/null to real files for out and err file descriptors for redis-cli call line 26 of lib/gitlab_post_receive.rb and didn't see anything.
Is it the number of tags which breaks something, or could there be a tag with a name that breaks the command line?