Kurt Roeckx wrote:

On Thu, Sep 04, 2003 at 01:39:04AM -0400, Tom Lane wrote:
Bruce Momjian <[EMAIL PROTECTED]> writes:
> Doesn't the stats collector use unix domain sockets, not IP?

No.  IIRC, we deliberately chose IP/UDP because it had buffering
behavior we liked.

Once you said it was because not all platforms have unix domain sockets. I asked why we weren't using something like socketpair().


The reason to use INET UDP is that this is the only connection type that simply drops packets if the stupid collector daemon isn't able to keep up with the traffic. Think of a 64 processor SMP machine where 60 backends utilize their own CPU and the poor little collector get's burried in packets, you don't want it to slow down the whole system, do you?


And I agree with Tom that it is very likely that the IPV4/IPV6 stuff is the reason. IIRC the postmaster creates the socket and noone ever does bind(2) on it - so it uses it's dynamically assigned port number. Both, the collector and the backends inherit that socket via fork(2). The backends use this socket with it's own sockname to send the stats out, and the collector reads it with recvfrom(2) and verifies that the from address is identical to it's sockname ... that way noone can inject faked stat packets. Now this is a lot of sockname usage that could lead to either the packets not arriving in the collector, or being thrown away by the collector because of failing to see them coming from itself.


Jan



Kurt



---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

-- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== [EMAIL PROTECTED] #


---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend

Reply via email to