Re: scalability bottlenecks with (many) partitions (and more)
Tomas Vondra <tomas@vondra.me>
From: Tomas Vondra <tomas@vondra.me>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Jakub Wartak <jakub.wartak@enterprisedb.com>,
Robert Haas <robertmhaas@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Andres Freund <andres@anarazel.de>
Date: 2024-09-23T10:26:40Z
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 →
-
Make FP_LOCK_SLOTS_PER_BACKEND look like a function
- c878de1db438 18.0 landed
-
Fix asserts in fast-path locking code
- a7e5237f268e 18.0 landed
-
Increase the number of fast-path lock slots
- c4d5cb71d229 18.0 landed
On 9/23/24 01:06, Tom Lane wrote: > Tomas Vondra <tomas@vondra.me> writes: >> On 9/22/24 17:45, Tom Lane wrote: >>> #define FAST_PATH_GROUP(index) \ >>> - (AssertMacro(((index) >= 0) && ((index) < FP_LOCK_SLOTS_PER_BACKEND)), \ >>> + (AssertMacro((uint32) (index) < FP_LOCK_SLOTS_PER_BACKEND), \ >>> ((index) / FP_LOCK_SLOTS_PER_GROUP)) > >> For the (x >= 0) asserts, doing it this way relies on negative values >> wrapping to large positive ones, correct? AFAIK it's guaranteed to be a >> very large value, so it can't accidentally be less than the slot count. > > Right, any negative value would wrap to something more than > INT32_MAX. > Thanks. Pushed a fix for these issues, hopefully coverity will be happy. BTW is the coverity report accessible somewhere? I know someone mentioned that in the past, but I don't recall the details. Maybe we should have a list of all these resources, useful for committers, somewhere on the wiki? regards -- Tomas Vondra