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

BDB Fixes (was Re: svn commit: r20218 - in trunk/subversion: libsvn_fs_base/bdb svnserve)

From: Garrett Rooney <rooneg_at_electricjellyfish.net>
Date: 2006-06-22 18:50:43 CEST

On 6/22/06, brane@tigris.org <brane@tigris.org> wrote:
> Author: brane
> Date: Thu Jun 22 07:38:48 2006
> New Revision: 20218
>
> Modified:
> trunk/subversion/libsvn_fs_base/bdb/env.c
> trunk/subversion/libsvn_fs_base/bdb/env.h
> trunk/subversion/svnserve/main.c
>
> Log:
> Make sure BDB environments always get closed even when the environment
> cache is destroyed before the last of the FS objects.
>
> * subversion/libsvn_fs_base/bdb/env.h
> (bdb_env_baton_t): Remove 'valid' flag. All uses updated.
> * subversion/libsvn_fs_base/bdb/env.c
> (create_env): Allocate the environment descriptor on the heap.
> (cleanup_env): Mark the pool as invalid, and maybe free the descriptor.
> (bdb_close): Maybe free the environment descriptor.
> (invalidate_env_baton): Remove, obsolete. All uses updated.
> (svn_fs_bdb__close, svn_fs_bdb__get_panic, svn_fs_bdb__set_panic):
> Check the bdb baton's 'bdb' member instead of the 'valid' flag.
> * subversion/svnserve/main.c: Don't destroy the connection pool
> after serving a request, it's no longer necessary.

This looks great, thanks Branko!

I'm now able to run 'make FS_TYPE=bdb svncheck' on my linux box with a
forking svnserve and there are no longer any failures. I know Branko
has some more work he's hoping to do here with regard to error
handling (see the comment about another potential pool destruction
ordering issue), but either way, this seems like an improvement, and I
think it should get merged into 1.4.x ASAP.

If more fixes to this are going to happen in the next day or so, then
we should probably hold off on a new RC, but if not, then I'd say we
should cut a new RC with this fix in it, since clearly the RC1 tarball
is rapidly becoming out of date.

Thoughts?

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jun 22 18:51:49 2006

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.