発端
とある大きな内容を git push しようとすると 見慣れないエラーで失敗しました。
error: RPC failed; result=22, HTTP code = 411
fatal: The remote end hung up unexpectedly
fatal: recursion detected in die handler
解決策1
411 なので送信量の指定がきちんとされていない?と思いつつ、 調べてみると gitlab のフロントにいる nginx が受けつけられる サイズの最大量を超えてしまっていたよう。
これを解決するために nginx の gitlab 用設定に
client_max_body_size 100M;
を一時的に追加しました。
解決策2
しかしそれでも同じエラーが発生していたのでさらに調べたところ、 git が送信するファイル量が多すぎるとこのエラーが発生しするとのこと。 解決策は、送信するファイルのバッファ総量を変更することだそう。 この総量の設定値はローカルリポジトリ毎にもっているので
git config --global http.postBuffer 524288000
として変更しました。 いくつかのリポジトリで発生したため global を付けて設定しています。
こんな設定値があるのかーと思ったので備忘録として書いておきます。