On Thu, Jun 05, 2003 at 01:32:43PM -0500, kfogel@collab.net wrote:
> Joe Orton <jorton@redhat.com> writes:
> > the problem appears to be simply that the DB_LOCK_DEADLOCK error
> > returned by svn_fs__bdb_get_node_revision gets wrapped on the error
> > stack by svn_fs__bdb_new_successor_id, so svn_fs__retry_txn doesn't spot
> > it and retry appropriately. Or am I being stupidly naive and it's
> > really a lot more complicated than this?
>
> Hmmm, there could be other places in libsvn_fs where a similar mistake
> is made (that is, calling a function that could return DB_DEADLOCK,
> but blindly wrapping the error without having an exception to pass
> DB_DEADLOCK through unchanged).
>
> Joe, should I open an issue about that, or were you already auditing
> for this very thing anyway?
I'm not auditing for it - checking the whole stack in retry_txn seemed
good enough to me, since it's not going to be a performance hit when
there is no error or anything. I'm not sure whether special-casing the
error handling in a bunch of places would be a good thing anyway, I
don't know this code at all.
Regards,
joe
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jun 5 21:52:54 2003