Yes, that was exactly it, thanks for pointing it out: the post-commit
mailer diff was spinning forever, (perhaps trying to send a 40MB email?)
until the client timed out (1 hour), leaving the client in a funny state
where the commit actually succeeded but the tortoisesvn client didn't
know it. On the client it requires deleting the working copy (not just
cleanup) and updating.
The server mailer.py script runs for every commit even if there are no
listeners, but now we have disabled email change notification globally
until we figure how to modify the script to only run for small files.
Here's a link to mailer.py:
http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/mailer/mailer.py
- not sure if it is exactly the one we are using now.
Tobi
Ryan Schmidt wrote:
> On Aug 25, 2008, at 05:17, Tobi Delbruck wrote:
>
>> When we try to commit small changes to chip design schematic EDIF files
>> which are large (>20MB) text files we often get the bug that
>> the commit hangs after uploading.
>>
>> Observing the server shows that diff is spinning with 100% CPU for
>> >30 minutes.
>> Occasionally we also get server crashes due (in one case) to a SCSI
>> timeout.
>> But no other VM's on the same hardware have this SCSI timeout, so it
>> is probably not hardware.
>> The server is an OpenBSD release 4.3. VM. The diff is not consuming
>> too much memory,
>> just is spinning.
>>
>> Committing from WinXP using TortoiseSVN 1.5. Server is running svn
>> 1.4.4 apache module
>> and we are using filesystem, not Berkeley DB.
>>
>> If we kill the commit job on the client and try to commit again, it
>> fails with out of date warning. We we try
>> to update the client, tortoisesvn complains about corrupted local
>> copy. But the commit apparently succeeds
>> because if we delete the local copy and update, we get the new
>> version that we tried to commit.
>
> You say you observe a "diff" process eating all CPU on the server? I
> don't think Subversion spawns a separate diff process, either on the
> client or server. Perhaps you have a post-commit hook installed on the
> server which e.g. sends out a commit email, and perhaps that script is
> running "diff" for you? You may need to configure that script to skip
> the diff part for files past a certain size.
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-08-26 18:14:39 CEST