Git: NGINX — writev() "/etc/nginx/client_body_temp/0000000001" has written only 4671 of 8184

Автор: | 03/04/2015
 

git-logoИмеется центральный репозиторий.

Настроен по статье Git: свой репозиторий под NGINX +uWSGI.

 

При добавлении большого файла в репозиторий — Git сообщает об ошибке:

$ git push zeus master
Counting objects: 5483, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5343/5343), done.
error: RPC failed; result=22, HTTP code = 500 | 2.82 MiB/s
fatal: The remote end hung up unexpectedly
Writing objects: 100% (5483/5483), 463.89 MiB | 19.33 MiB/s, done.
Total 5483 (delta 1591), reused 0 (delta 0)
fatal: The remote end hung up unexpectedly
Everything up-to-date

В логе NGINX Ошибка такого вида:

32015/03/03 12:51:55 [crit] 21530#0: *1 writev() «/etc/nginx/client_body_temp/0000000001» has written only 4671 of 8184, client: 10.249.140.96, server: domain.com, request: «POST /new.git/git-receive-pack HTTP/1.1», host: «domain.com»

Решение — увеличить HTTP-буфер в настройках локального Git-а:

$ git config http.postBuffer 524288000
$ git push zeus master