Johan Corveleyn <jcor...@gmail.com> writes: > On Fri, Aug 10, 2012 at 10:22 AM, Philip Martin > <philip.mar...@wandisco.com> wrote: >> Johan Corveleyn <jcor...@gmail.com> writes: >> >>> So, say for a standard 1.8 FSFS repository, is there a timeout for >>> commits? What's the timeout (is it configurable?)? How will the commit >>> fail when it reaches the timeout? >> >> I don't think there is a timeout for the main write-lock. There is a >> 10s timeout for the rep-cache but rep-cache errors are non-fatal. > > So, while the repository is frozen, will a new commit fail immediately > (with a clear error message)? Or will it hang (possibly indefinitely, > in which case the client-side time-out will terminate things) until > the repository is unfrozen?
Freeze takes the write-lock so things that require the write-lock will block like all other blocks for the write-lock. A new FSFS commit will block because it requires the write-lock to bump the sequence number. Starting an FSFS freeze doesn't have to wait for in-progress commits to finish. A FSFS commit in progress will be able to continue modifying the transaction, as that doesn't require the write-lock, but will block when it attempts to convert the transaction into a revision. I'm currently using BDB's svn_repos lock for the BDB freeze so that makes a BDB repository completely unreadable while frozen. No BDB commits can start while frozen. Starting a BDB freeze has to wait for in-progress commits to finish. -- Certified & Supported Apache Subversion Downloads: http://www.wandisco.com/subversion/download