On Tue, Nov 13, 2012 at 10:30 PM, Philip Martin <philip.mar...@wandisco.com>wrote:
> If I configure a server with an FSFS cache that uses about 50% of > available memory and then I use the server so the cache is in use I find > that hook scripts fail to run because the fork/exec cannot allocate > memory. The user sees: > I only discovered a few days ago that hook scripts get their own "host" process instance. If they use the same cache setup, that's a problem. Even if there is enough memory, allocating the memory alone may cause a performance hit. > $ svn mkdir -mm http://localhost:8888/obj/repo/A > svn: E165002: Failed to start > '/home/pm/sw/subversion/obj/repo/hooks/pre-commit' hook > > and the apache log contains: > > [Tue Nov 13 21:14:28 2012] [error] [client ::1] Could not MERGE resource > "/obj/repo/!svn/txn/0-1" into "/obj/repo". [409, #0] > [Tue Nov 13 21:14:28 2012] [error] [client ::1] An error occurred while > committing the transaction. [409, #165002] > [Tue Nov 13 21:14:28 2012] [error] [client ::1] Failed to start > '/home/pm/sw/subversion/obj/repo/hooks/pre-commit' hook [409, #165002] > [Tue Nov 13 21:14:28 2012] [error] [client ::1] Can't start process > '/home/pm/sw/subversion/obj/repo/hooks/pre-commit': Cannot allocate memory > [409, #12] > > If I increase the available memory by adding swap the hook script > starts. > > Perhaps we could start up a separate hook script process before > allocating the large FSFS cache and then delegate the fork/exec to that > smaller process? > I wonder whether there is a way to pass a different cache setting to the sub-process. -- Stefan^2. -- Certified & Supported Apache Subversion Downloads: * http://www.wandisco.com/subversion/download *