Re: [PATCH] OAuth: fix performance bug with stuck multiplexer events

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Jacob Champion <jacob.champion@enterprisedb.com>, Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Cc: Thomas Munro <thomas.munro@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Daniel Gustafsson <daniel@yesql.se>, Peter Eisentraut <peter@eisentraut.org>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2025-08-12T22:21:01Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. oauth: Always link with -lm for floor()

  2. oauth: Add unit tests for multiplexer handling

  3. oauth: Ensure unused socket registrations are removed

  4. oauth: Remove expired timers from the multiplexer

  5. oauth: Remove stale events from the kqueue multiplexer

  6. oauth: Track total call count during a client flow

On 2025-08-12 Tu 6:11 PM, Jacob Champion wrote:
> On Fri, Aug 8, 2025 at 2:31 PM Jacob Champion
> <jacob.champion@enterprisedb.com> wrote:
>> Well, thank you for the explanation. I'll make that change.
> Done in v5.
>
> v5-0001 is planned for backport to 18 once the freeze lifts. It
> ensures that -lm is part of the link line for libpq-oauth, since the
> module uses floor(). I probably wouldn't have ever noticed, except
> that the new test executable, which uses the same link flags,
> complained on Clang [1].
>
> (In that thread, I incorrectly said the problem was with "Meson
> animals". The Meson side is fine, and both alligator and bushmaster
> use Autoconf, so I'm not sure how I ended up with that idea.)
>
> v5-0002 should fix the more general buildfarm failure that caused the
> revert. The farm finds the new t/ subdirectory and starts running Make
> on src/interfaces/libpq-oauth directly, bypassing the skip logic in
> src/interfaces/Makefile. So I've wrapped the "standard" top-level
> targets that build and install things in a conditional. The targets
> that clean things up have been left alone, at Tom's suggestion in [1].
>
> Thanks,
> --Jacob
>
> [1] https://postgr.es/m/CAOYmi%2Bm%3DxY0P_uAzAP_884uF-GhQ3wrineGwc9AEnb6fYxVqVQ%40mail.gmail.com


I don't think that's quite going to work. The buildfarm will now get a 
"target not found"  in the without-curl case, I suspect. I think you'll 
need an alternative definition of the check target.


cheers


andrew


--
Andrew Dunstan
EDB: https://www.enterprisedb.com