Bert Huijben wrote on Wed, Nov 21, 2012 at 10:36:43 +0100:
> 
> 
> > -----Original Message-----
> > From: svn-r...@apache.org [mailto:svn-r...@apache.org]
> > Sent: woensdag 21 november 2012 05:02
> > To: comm...@subversion.apache.org
> > Subject: svn commit: r1411982 - in /subversion/branches/1.6.x: ./ STATUS
> > subversion/libsvn_client/commit_util.c subversion/libsvn_fs_fs/fs_fs.c
> > 
> > Author: svn-role
> > Date: Wed Nov 21 04:01:41 2012
> > New Revision: 1411982
> > 
> > URL: http://svn.apache.org/viewvc?rev=1411982&view=rev
> > Log:
> > Reintegrate the 1.6.x-rep_write_cleanup branch:
> > 
> >  * r1403964, r1403982, r1410106, r1410203
> >    Make fs_fs properly cleanup after a failed transmission of a 
> > representation.
> >    Justification:
> >      Read errors can create problems for users of the WANdisco replicator
> >      which does retry requests.  Can result in garbage representations in 
> > the
> >      rev file.
> >    Notes:
> 
> 
> 
> >      Branch is required since our client code needs a small tweak to deal
> >      with pool lifetimes to make the fix work properly with ra_local.  We'd
> >      made a similar change with wcng in 1.7 already.
> 
> 
> What would be the effect of *not* patching the client?
> 

Not destroying iterpool would cause rep_write_cleanup() (pool cleanup
handler) not to fire [according to breser], hence not call
unlock_proto_rev(), hence not clear the "being_written" flag in the txn
object.  That object lives in the fs_fs_shared_data_t (which outlives
svn_fs_t handles) so subsequent attempts to commit that transaction
within the same process before clearing the pool would spuriously fail.

> What impact does this have on other users of the fs/repos apis?
> 
> 
> In other words: Is this a breaking change that we shouldn't port back to 1.6 
> clients and try to patch server only?
> 
>       Bert 
> 

Reply via email to