Re: [HACKERS] Moving relation extension locks out of heavyweight lock manager
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>, Masahiko Sawada <sawada.mshk@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Andres Freund <andres@anarazel.de>, Michael Paquier <michael@paquier.xyz>, Mithun Cy <mithun.cy@enterprisedb.com>,
Thomas Munro <thomas.munro@enterprisedb.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-02-15T02:32:55Z
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 →
-
Allow page lock to conflict among parallel group members.
- 3ba59ccc896e 13.0 landed
-
Allow relation extension lock to conflict among parallel group members.
- 85f6b49c2c53 13.0 landed
-
Add assert to ensure that page locks don't participate in deadlock cycle.
- 72e78d831ab5 13.0 landed
-
Assert that we don't acquire a heavyweight lock on another object after
- 15ef6ff4b985 13.0 landed
-
Fix unsafe usage of strerror(errno) within ereport().
- 81256cd05f07 11.0 cited
On Fri, Feb 14, 2020 at 8:12 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > Amit Kapila <amit.kapila16@gmail.com> writes: > > I think MaxBackends will generally limit the number of different > > relations that can simultaneously extend, but maybe tables with many > > partitions might change the situation. You are right that some tests > > might suggest a good number, let Mahendra write a patch and then we > > can test it. Do you have any better idea? > > In the first place, there certainly isn't more than one extension > happening at a time per backend, else the entire premise of this > thread is wrong. Handwaving about partitions won't change that. > Having more number of partitions theoretically increases the chances of false-sharing with the same number of concurrent sessions. For ex. two sessions operating on two relations vs. two sessions working on two relations with 100 partitions each would increase the chances of false-sharing. Sawada-San and Mahendra have done many tests on different systems and some monitoring with the previous patch that with a decent number of fixed slots (1024), the false-sharing was very less and even if it was there the effect was close to nothing. So, in short, this is not the point to worry about, but to ensure that we don't create any significant regressions in this area. > In the second place, it's ludicrous to expect that the underlying > platform/filesystem can support an infinite number of concurrent > file-extension operations. At some level (e.g. where disk blocks > are handed out, or where a record of the operation is written to > a filesystem journal) it's quite likely that things are bottlenecked > down to *one* such operation at a time per filesystem. So I'm not > that concerned about occasional false-sharing limiting our ability > to issue concurrent requests. There are probably worse restrictions > at lower levels. > Agreed and what we have observed during the tests is what you have said in this paragraph. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com