Subversionにコミットできない

土曜日 , 21, 11月 2020 Leave a comment

macOS上の環境でApache HTTP Serverのmod_dav_svn経由でSubversionに大量のファイルをコミットしようとしたところ、下記のようなエラーがApacheのログに記載されていました。

(70007)The timeout specified has expired: [client XXX.XXX.XXX.XXX:XXXXX] An error occurred while reading the request body (URI: リポジトリ上のファイルパス)  [XXX, #0]

(70008)Partial results are valid but processing is incomplete: [client XXX.XXX.XXX.XXX:XXXXX] An error occurred while reading the request body (URI: リポジトリ上のファイルパス)  [XXX, #0]

ファイル名を確認すると少し大きめのファイルをコミットしようとしたタイミングで問題が発生しやすいようです。
そこで、Apacheの設定パラメータのデフォルト値が変更されたことに伴うものかと思いRequestReadTimeoutディレクティブやLimitRequestBodyディレクティブの値を、

RequestReadTimeout header=0 body=0
LimitRequestBody 0

のように変更してみました。
この処置で、一部分はコミットが通るようになったもののスッキリと完全解決までは至りません。

そもそも「少し大きめのファイル」と書いたもののWindows環境からはもっと大きいファイルが問題なくコミットできています。
「じゃあSubversionのクライアントが古いことが原因か?」と考えてもファイルによっては問題なくコミットできています。

ログのメッセージで検索してみると、自分が解決方法を書いていました。
ブラウザのコンソールに「net::ERR_CONNECTION_RESET」「Failed to load resource: ネットワーク接続が切れました。」と表示された場合

ESETのファイアウォール機能を停止しコミットを行ってみると、先ほどまでの状態が嘘のようにあっさりと解決。問題なくコミットされました。

今回もmacOSのESETが原因でした。

Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください