On Tue, Nov 13, 2012 at 10:30 PM, Philip Martin
<philip.martin_at_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
*
Received on 2012-11-14 01:37:48 CET