[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Killing processes

From: Ulrich Eckhardt <eckhardt_at_satorlaser.com>
Date: 2006-11-10 12:58:13 CET

On Friday 10 November 2006 03:32, Stefan wrote:
> I read in the FAQ, that the repository can get corrupted, if the
> client-process is been killed. Remains this problem in Subversion 1.4.2
> with BerkeleyDB 4.5.20?

The repository is not corrupted but 'wedged'. It happens when a transaction is
partially written to the database. Since there are signals a program can't
ignore (at least on POSIX systems) there is nothing any software can do about
it.

> Does the repository also get corrupted, if the svnserve-process is been
> killed while no client is connected? If it gets corrupted, what is the
> right way to stop the svnserve-process?

If you have svnserve setup to be run via e.g. inetd, every client connecting
spawns a new svnserve process. If you need to take down your repository for
maintenance, you simply tell inetd not to accept any further connections and
wait until the last client connection is finished.

If you only have svnserve listening on a port, I think that even then it
closes the database between transactions so when no client is connected, the
database is in a consistent state and won't get wedged when svnserve is
killed.

> I guess - because of the transactional behaviour of the db - that the
> result is the same, when the svnserve-process is been killed while a client
> is connected, isn't it?

Again, it doesn't get corrupted. The repository is only left in an
intermediate state. Note that SVN 1.4 (I think) automatically recovers from
this wedged state, I seem to remember something in the release info.

Uli

**************************************************************************************
           Visit our website at <http://www.satorlaser.de/>
**************************************************************************************

Diese E-Mail und jede mit dieser E-Mail versandte Datei ist vertraulich und ausschließlich für die Nutzung durch den vorgesehenen Empfänger bestimmt. Sollten Sie nicht der vorgesehene Empfänger dieser E-Mail sein, informieren Sie bitte den Absender. Jeder unbefugte Zugriff oder unbefugte Weiterleitung, die Fertigung einer Kopie oder sonstige in diesem Zusammenhang stehende Handlung ist untersagt.

This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this e-mail in error, please be so kind to inform the sender. Any other unauthorised access, unauthorised forwarding, copying or other action in this connection at all, is prohibited.
**************************************************************************************

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Nov 10 12:58:52 2006

This is an archived mail posted to the Subversion Users mailing list.