gitlab: git clone https with large repos fails -
when trying clone large repo (~700mb) on https, git fails with:
c:\git-projects>git clone https://git.mycompany.de/fs.git cloning 'fs'... username 'https://git.mycompany.de': mwlo password 'https://mwlo@git.mycompany.de': efrror: rpc failed; result=22, http code = 500 atal: remote end hung unexpectedly
clone on ssh works:
c:\git-projects>git clone git@git.mycompany.de:fs.git cloning 'fs'... remote: counting objects: 144564, done. remote: compressing objects: 100% (30842/30842), done. remote: total 144564 (delta 95360), reused 143746 (delta 94542) receiving objects: 100% (144564/144564), 601.34 mib | 1.33 mib/s, done. resolving deltas: 100% (95360/95360), done. checking out files: 100% (4649/4649), done.
cloning smaller repositories https works:
c:\git-projects>git clone https://git.mycompany.de/git-test.git cloning 'git-test'... remote: counting objects: 135, done. remote: compressing objects: 100% (129/129), done. remote: total 135 (delta 68), reused 0 (delta 0) receiving objects: 100% (135/135), 18.77 kib | 0 bytes/s, done. resolving deltas: 100% (68/68), done.
i have tweaked parameters without success:
/etc/nginx/nginx.conf worker_processes 2; # have 2 cpu's keepalive_timeout 120; client_max_body_size 3072m; /home/git/gitlab/config/gitlab.yml ## git settings # caution! # use default values unless know doing git: bin_path: /usr/bin/git # max size of git object (e.g. commit), in bytes # value can increased if have large commits max_size: 3221225472 # 3072.megabytes # git timeout read commit, in seconds timeout: 120
we use git clone https, visual studio tools git still not have implemented ssh.
on server 2 processes, cpu load goes 100% after while, processes terminated.
git pack-objects --revs --all --stdout --progress --delta-base-offset
regards, marco
system information system: debian 6.0.7 current user: root using rvm: no ruby version: 1.9.3p392 gem version: 1.8.23 bundler version:1.3.5 rake version: 10.0.4 gitlab information version: 5.3.0 revision: 148eade directory: /home/git/gitlab db adapter: mysql2 url: https://git.mycompany.de http clone url: https://git.mycompany.de/some-project.git ssh clone url: git@git.mycompany.de:some-project.git using ldap: yes using omniauth: no gitlab shell version: 1.4.0 repositories: /home/git/repositories/ hooks: /home/git/gitlab-shell/hooks/ git: /usr/bin/git
this reported in issue 3079: https cloning requires large amount of resources (cpu, memory) on gitlab server, , (gitlab 5.x) large repos.
even gitlab 6.0 comes commits 7ecebdd, mentioning timeouts when cloning large repo.
i haven't tested gitlab 6, though (which should release tomorrow).
Comments
Post a Comment