Wednesday, June 14, 2006

Subversion, Apache2, DAV & SAMBA

In order to easily facilitate a consolidated nightly backup we decided to mount (via SAMBA) a win2k3 share to store our Subversion repositories (Subversion being on a Gentoo box). Been live a week, today we had our first issue. The following message appeared on the "svn ci" output:

snc: Commit failed:

svn: Can't move '/opt/svn_repos/CrucialConversationsLP/db/current.3.tmp' to '/opt/svn_repos/CrucialConversationsLP/db/current': Text file busy.

svn: MERGE of '/svn/repos/CrucialConversationsLP': 409 Conflict

followed by this (apache2's error-log):

[Wed Jun 14 14:05:04 2006] [error] [client] Could not MERGE resource "/svn/repos/CrucialConversationsLP/!svn/act/e920f6b2-3416-0410-b60c-8a4adf2ad0ca" into "/svn/repos/CrucialConversationsLP/courses/Crucial Conversations/slides". [409, #0]
[Wed Jun 14 14:05:04 2006] [error] [client] An error occurred while committing the transaction. [409, #26]
[Wed Jun 14 14:05:04 2006] [error] [client] Can't move '/opt/svn_repos/CrucialConversationsLP/db/current.10.tmp' to '/opt/svn_repos/CrucialConversationsLP/db/current': Text file busy [409, #26]

lsof did not indicate that the "current" file was open.

The solution to this issue (for the time being) was to unmount the share and remount it. Then commits worked just fine. I also tried adding and committing test files on other projects, no issues there. So if this crops up again we'll consider an alternative backup scheme and perchance go down the NFS road.

No comments: