Re: [PATCH] OAuth: fix performance bug with stuck multiplexer events
Thomas Munro <thomas.munro@gmail.com>
From: Thomas Munro <thomas.munro@gmail.com>
To: Jacob Champion <jacob.champion@enterprisedb.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Daniel Gustafsson <daniel@yesql.se>, Peter Eisentraut <peter@eisentraut.org>
Date: 2025-08-07T02:43:17Z
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 →
-
oauth: Always link with -lm for floor()
- e76738e59790 18.0 landed
- 52ecd05aeef8 19 (unreleased) landed
-
oauth: Add unit tests for multiplexer handling
- 4e1e417330d4 19 (unreleased) landed
- 1443b6c0eaa2 19 (unreleased) landed
-
oauth: Ensure unused socket registrations are removed
- 16b0c48583a5 18.0 landed
- 3d9c03429a82 19 (unreleased) landed
-
oauth: Remove expired timers from the multiplexer
- e507e08acf63 18.0 landed
- 1749a12f0d20 19 (unreleased) landed
-
oauth: Remove stale events from the kqueue multiplexer
- ff181d1f876f 18.0 landed
- ff5b0824b3b0 19 (unreleased) landed
-
oauth: Track total call count during a client flow
- 41aac1483a6c 18.0 landed
- 3e311664e497 19 (unreleased) landed
On Thu, Aug 7, 2025 at 1:45 PM Thomas Munro <thomas.munro@gmail.com> wrote: > I like the C TAP test. PostgreSQL > needs more of this. I should add, I didn't look closely at that part since you said it's not in scope for back-patching. I'd like to, though, later. I wonder if you would be interested in this attempt at centralised infrastructure for unit testing our C code over here. I'm not suggesting it for your immediate problem, just noting the overlap: https://www.postgresql.org/message-id/flat/CA%2BhUKG%2BajSQ_8eu2AogTncOnZ5me2D-Cn66iN_-wZnRjLN%2Bicg%40mail.gmail.com Basically I would like to be able to dump easy-to-write files into the tree that say stuff like this ↓ and have the build scripts find them, build them and test them without all the module boilerplate stuff or a running server (though that aspect is obviously not relevant for your frontend case). Like you find in googletest or various xunit-style systems in other projects, but integrated with our TAP universe (or whatever replaces it if we escape from Perl). But I never got the configure part of it working. PG_BEGIN_TESTS(); ... PG_EXPECT_EQ(pg_preadv(fd, iov, 2, 11), 0); PG_EXPECT_EQ(pg_pread(fd, buffer, 10, 0), 10); PG_EXPECT_EQ_STR(buffer, "helloworld"); ... PG_END_TESTS();