pgsql: Avoid "invalid memory alloc request size" while reading pg_stat_

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Avoid "invalid memory alloc request size" while reading pg_stat_
Date: 2019-05-07 15:42:32
Message-ID: E1hO2Ei-0005Ec-KE@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Avoid "invalid memory alloc request size" while reading pg_stat_activity.

On a 64-bit machine, if you set track_activity_query_size and
max_connections such that their product exceeds 1GB, shared memory
setup will still succeed (given enough RAM), but attempts to read
pg_stat_activity fail with "invalid memory alloc request size".
Work around that by using MemoryContextAllocHuge to allocate the
local copy of the activity strings. Using the "huge" API costs us
nothing extra in normal cases, and it seems better than throwing
an error and/or explaining to people why they can't do this.

This situation seems insanely profligate today, but who knows what
people will consider normal in ten or twenty years? So let's fix it
in HEAD but not worry about a back-patch.

Per report from James Tomson.

Discussion: https://postgr.es/m/1CFDCCD6-B268-48D8-85C8-400D2790B2C3@pushd.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/8d0ddccec6366a2851da7d350b33659203aa644b

Modified Files
--------------
src/backend/postmaster/pgstat.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Magnus Hagander 2019-05-07 16:27:10 pgsql: Fix typos and clarify a comment
Previous Message Andrew Gierth 2019-05-07 13:38:39 Re: pgsql: docs: fist draft version of the PG 12 release notes