Re: WL_SOCKET_ACCEPT fairness on Windows

Jonathan S. Katz <jkatz@postgresql.org>

From: "Jonathan S. Katz" <jkatz@postgresql.org>
To: Thomas Munro <thomas.munro@gmail.com>, Andres Freund <andres@anarazel.de>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-05-16T14:57:09Z
Lists: pgsql-hackers
On 3/31/23 11:00 PM, Thomas Munro wrote:

>>> I mention this now because I'm not sure whether to consider this an
>>> 'open item' for 16, or merely an enhancement for 17.  I guess the
>>> former, because someone might call that a new denial of service
>>> vector.  On the other hand, if you fill up the listen queue for socket
>>> 1 with enough vigour, you're also denying service to socket 1, so I
>>> don't know if it's worth worrying about.  Opinions on that?
>>
>> I'm not sure either. It doesn't strike me as a particularly relevant
>> bottleneck. And the old approach of doing more work for every single
>> connection also made many connections worse, I think?
> 
> Alright, let's see if anyone else thinks this is worth fixing for 16.

[RMT hat]

Given this has sat for a bit, I wanted to see if any of your thinking 
has changed on whether this should be fixed for v16 or v17. I have 
personally not formed an opinion yet, but per the current discussion, it 
seems like this could wait?

Thanks,

Jonathan

Commits

  1. Teach WaitEventSetWait() to report multiple events on Windows.

  2. Use WaitEventSet API for postmaster's event loop.