On 23/04/12 15:14, Ramon Bastiaans wrote: > Hi Daniel, > > Ah ok. Before you sent your email I had already created a small patch > for myself. It almost seems that APR ignores the OS settings (i.e.: > net.core.rmem_default) and creates a socket with it's own default > (receive) buffer size.
Actually, apr can be a little bit more naughty than that: for Vladimir and myself, attempting to query the buffer size from APR reports the value 0. Querying the underlying socket directly reports another value. I'm using apr-1.4.2 on Debian squeeze, which version do you have? > Attached is a patch against 3.3.6 for lib/apr_net.c that stops the > receive buffers errors for me. > > The patch sets the buffer size a bit bigger, although I'm not sure what > would be a sensible size for gmond. I would think if you have a large > cluster with lots of UDP traffic you would need a bigger receive buffer > than for smaller systems. > > I will try out 3.3.7 and see what it's debug output says on buffer size's. You will notice the logging code reports two results, because of the apr issue described above For your patch, could you generalise it to allow a value in the config file? This commit will suggest how to go about adding a new config value: https://github.com/ganglia/monitor-core/commit/bfeb4ce3ad65466a3bef220bb6950403b4f968cd#gmond/conf.pod The patch should respect the previous behavior - if the config value is unspecified or 0, it should not change anything. However, because we know there are issues with getting/setting the value through APR, your patch would also need to consider: - is there a minimum APR version required for the patch to work? - could you set the value, query the value, and if it hasn't accepted the value, try setting the value on the native socket? - or maybe just ignore the APR code completely and go directly to set the value on the native socket? This commit will show you how to access the native socket: https://github.com/ganglia/monitor-core/commit/18d0655ca820b3184aee919587824132c9ee99f0#lib/apr_net.c ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers