You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Ben Collins-Sussman <su...@collab.net> on 2001/06/11 21:29:39 UTC

issue 388

Issue 388 is simple.  If a commit fails part-way through, the
svn_error_t is thrown all the way back up to the client *without*
cleaning up the fs transaction.  

(While we acknowledge that *some* orphaned fs transactions are
inevitable -- such as those from lost network connections -- this is a
case where we orphaned transaction is inevitable.)

Right now, here's the way commits work:

  client library:
      ra->open_session
      ra->get_commit_editor
      drive commit editor
      ra->close_session

The problem here is that the client needs to be able to tell the RA
layer to nuke the transaction if any error happens during the
editor-drive.

The Right way to do this, I think, is to add a new RA routine:

   svn_error_t *(*abort_commit) (session_baton, edit_baton);

It's not enough to put this routine on 'far' side of the RA interface;
errors might happen within the 'nearby' editor-driver, and the client
needs a way of telling the server that he's elegantly bailing out.

gstein, any objections to this?  I can easily make this change happen
in ra_local.  But for ra_dav, it probably means you'll need to send
some new DAV command over the wire.  I can put a dummy func into
ra_dav for now.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: issue 388

Posted by Greg Stein <gs...@lyra.org>.
On Mon, Jun 11, 2001 at 04:29:39PM -0500, Ben Collins-Sussman wrote:
>...
> gstein, any objections to this?  I can easily make this change happen
> in ra_local.  But for ra_dav, it probably means you'll need to send
> some new DAV command over the wire.  I can put a dummy func into
> ra_dav for now.

Dummy func is fine. This just maps to a DELETE of the activity. mod_dav_svn
will translate that into a delete (abort) of the transaction. In short: not
a big deal.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: issue 388

Posted by Ben Collins-Sussman <su...@collab.net>.
Ben Collins-Sussman <su...@collab.net> writes:

> (While we acknowledge that *some* orphaned fs transactions are
> inevitable -- such as those from lost network connections -- this is a
> case where we orphaned transaction is inevitable.)

Speak I english can?  :)

I meant, "this is a case where we can definitely prevent an orphaned
transaction."



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org