I currently have these APR versions on Debian:
libapr1/squeeze uptodate 1.4.2-6+squeeze3 libapr1-dev/squeeze uptodate 1.4.2-6+squeeze3 libaprutil1/squeeze uptodate 1.3.9+dfsg-5 libaprutil1-dev/squeeze uptodate 1.3.9+dfsg-5 So the same as you - Ramon. On 23-4-2012 15:26, Daniel Pocock wrote:
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
-- ing. R. Bastiaans, B.ICT * Senior Systems Programmer * Operations, Support and Development SARA Science Park 140 PO Box 94613 1098 XG Amsterdam NL 1090 GP Amsterdam NL P.+31 (0)20 592 3000 F.+31 (0)20 668 3167
smime.p7s
Description: S/MIME Cryptographic Signature
------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________ Ganglia-developers mailing list Ganglia-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ganglia-developers