なみひらブログ

学んだことを日々記録する。~ since 2012/06/24 ~

Subversionからチェックアウトができなくなった

開発にて、Subversion+JenkinsでCIをしていましたが、ある日Jenkinsのコンソールログに以下のようなエラーが出力されていました。ログによると、Subversionサーバからからチェックアウトができなくなっており、ビルドが失敗していました。

※下記について、一部表現を変えています。

Jenkinsでビルドします。 ワークスペース: /mnt/hdd2/jenkins/slave/workspace/commit-build
 Cleaning up /mnt/hdd2/jenkins/slave/workspace/commit-build/parent
 Updating http://XXXX/repos/YYYY/trunk/parent at revision  '2013-10-21T08:48:04.923 +0900'
 ERROR: Failed to update http://XXXX/repos/YYYY/trunk/parent
 org.tmatesoft.svn.core.SVNException: svn: E204900: Can't find a temporary directory: Internal error
 svn: E175002: REPORT of '/repos/YYYY/!svn/vcc/default': 500 Internal Server Error  (http://XXXX)
 	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64) 
	at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)
 	at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.runReport(DAVRepository.java:1291)
 (中略)
 Caused by: svn: E204900: Can't find a temporary directory: Internal error
 	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)
 	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:154)
 	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:97)
 (中略)
 	... 27 more
 Caused by: svn: E175002: REPORT of '/repos/YYYY/!svn/vcc/default': 500 Internal Server Error (http://repos.cloud-lab.ricoh.co.jp)
 	at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)
 (中略)
	... 35 more
 ERROR: Subversion update failed

原因

  • 「/」のHDD使用容量が100%になっており、svnチェックアウト時に作られる一時的なディレクトリが作れなくなっていました。
 [root@Jenkins /]# df -h
 Filesystem          サイズ  使用  残り 使用% マウント位置
 /dev/mapper/VolGroup00-LogVol00
                       93G   88G     0 100% /
 /dev/sda1             494M   18M  452M   4% /boot
 tmpfs                 3.9G     0  3.9G   0% /dev/shm
 /dev/sdb1             493G  121G  347G  26% /mnt/hdd2
  • [補足]「/」が容量が大きいのは、svnのバックアップファイルの一時置き場にしていたためです。

対応

直近対応としては、「/」の配下の使用しないファイルを削除しました。そしたら、正常にチェックアウトできるようになりました\(^o^)/
(あとバッグアップの一時置き場も、/mnt/hdd2以下にしました。)