Re: Speed up transaction completion faster after many relations are accessed in a transaction
David Rowley <david.rowley@2ndquadrant.com>
From: David Rowley <david.rowley@2ndquadrant.com>
To: "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>,
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>, "Imai, Yoshikazu" <imai.yoshikazu@jp.fujitsu.com>,
Andres Freund <andres@anarazel.de>, Simon Riggs <simon@2ndquadrant.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2019-06-26T23:00:56Z
Lists: pgsql-hackers
Attachments
- shrink_bloated_locallocktable_v5.patch (application/octet-stream) patch v5
On Mon, 17 Jun 2019 at 15:05, Tsunakawa, Takayuki <tsunakawa.takay@jp.fujitsu.com> wrote: > (1) > +#define LOCKMETHODLOCALHASH_SHRINK_SIZE 64 > > How about LOCKMETHODLOCALHASH_SHRINK_THRESHOLD, because this determines the threshold value to trigger shrinkage? Code in PostgreSQL seems to use the term threshold. That's probably better. I've renamed it to that. > (2) > +/* Complain if the above are not set to something sane */ > +#if LOCKMETHODLOCALHASH_SHRINK_SIZE < LOCKMETHODLOCALHASH_INIT_SIZE > +#error "invalid LOCKMETHODLOCALHASH_SHRINK_SIZE" > +#endif > > I don't think these are necessary, because these are fixed and not configurable. FYI, src/include/utils/memutils.h doesn't have #error to test these macros. Yeah. I was thinking it was overkill when I wrote it, but somehow couldn't bring myself to remove it. Done now. > (3) > + if (hash_get_num_entries(LockMethodLocalHash) == 0 && > + hash_get_max_bucket(LockMethodLocalHash) > > + LOCKMETHODLOCALHASH_SHRINK_SIZE) > + CreateLocalLockHash(); > > I get an impression that Create just creates something where there's nothing. How about Init or Recreate? Renamed to InitLocalLoclHash() v5 is attached. Thank you for the review. -- David Rowley http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Commits
-
Reorder LOCALLOCK structure members to compact the size
- 28988a84cf19 12.0 landed
-
Be more careful to not lose sync in the FE/BE protocol.
- 2b3a8b20c2da 9.5.0 cited