From: | David Rowley <dgrowleyml(at)gmail(dot)com> |
---|---|
To: | Melanie Plageman <melanieplageman(at)gmail(dot)com> |
Cc: | Justin Pryzby <pryzby(at)telsasoft(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Geoghegan <pg(at)bowt(dot)ie>, pgsql-hackers(at)postgresql(dot)org, Robert Haas <robertmhaas(at)gmail(dot)com> |
Subject: | Re: Option to not use ringbuffer in VACUUM, using it in failsafe mode |
Date: | 2023-04-01 00:05:19 |
Message-ID: | CAApHDvqk_0j1ewnq8Xu+BKhOj76EXO=ejBXocdvyRkgyPV8ehw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sat, 1 Apr 2023 at 12:57, Melanie Plageman <melanieplageman(at)gmail(dot)com> wrote:
> I've attached v7 with that commit dropped and with support for parallel
> vacuum workers to use the same number of buffers in their own Buffer
> Access Strategy ring as the main vacuum phase did. I also updated the
> docs to indicate that vacuum_buffer_usage_limit is per backend (not per
> instance of VACUUM).
(was just replying about v6-0002 when this came in. Replying here instead)
For v7-0001, can we just get rid of both of those static globals? I'm
gobsmacked by the existing "A few variables that don't seem worth
passing around as parameters" comment. Not wanting to pass parameters
around is a horrible excuse for adding global variables, even static
ones.
Attached is what I propose in .diff form so that the CFbot can run on
your v7 patches without picking this up.
I considered if we could switch memory contexts before calling
expand_vacuum_rel() and get_all_vacuum_rels(), but I see, at least in
the case of expand_vacuum_rel() that we'd probably want to list_free()
the output of find_all_inheritors() to save that from leaking into the
vac_context. It seems safe just to switch into the vac_context only
when we really want to keep that memory around. (I do think switching
in each iteration of the foreach(part_lc, part_oids) loop is
excessive, however. Just not enough for me to want to change it)
David
Attachment | Content-Type | Size |
---|---|---|
get_rid_of_a_few_globals_from_vacuum.c.diff | application/octet-stream | 5.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Tomas Vondra | 2023-04-01 00:11:12 | Re: zstd compression for pg_dump |
Previous Message | Melanie Plageman | 2023-03-31 23:57:36 | Re: Option to not use ringbuffer in VACUUM, using it in failsafe mode |