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

Re: #739: Ensuring ACID in Subversion (aka watcher procecesses are fun)

From: Glenn A. Thompson <gthompson_at_cdr.net>
Date: 2002-09-20 19:46:04 CEST


Pardon my ignorance here but the recovery procedure on sleepycat says this:

"2. It is necessary to recover information after system or application
failure. In this case, recovery processing must be performed on any database
environments that were active at the time of the failure. Recovery processing
involves running the db_recover utility or calling the DB_ENV->open method
with the DB_RECOVER or DB_RECOVER_FATAL flags.

During recovery processing, all database changes made by aborted or unfinished
transactions are undone, and all database changes made by committed
transactions are redone, as necessary. Database applications must not be
restarted until recovery completes. After recovery finishes, the environment
is properly initialized so that applications may be restarted."

I took this to be DB_ENV->open(DB_RECOVER|etc ) == db_recover

svnadmin has a call to recover which is not listed in the help and is
currently compiled out. In this call he aquires an exclusive lock on db.lock.

It has this comment above it.
" /* ### TODO: Get this working with new libsvn_repos API. We need
     the repos API to access the lockfile paths and such, but we
     apparently don't want the locking that comes along with the repos
     API. */
    case svnadmin_cmd_recover:"

Is this code being permanently abandoned?
Should the FS api nolonger include a recover function?

/* Perform any necessary non-catastrophic recovery on a Berkeley
   DB-based Subversion filesystem, stored in the environment PATH. Do
  any necessary allocation within POOL.

svn_error_t *svn_fs_berkeley_recover (const char *path,
                                      apr_pool_t *pool);"

Just trying to get a handle on this.


To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Sep 20 19:43:11 2002

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.