pgsql: Fix memory leak in SnapBuildSerialize.

From: Amit Kapila <akapila(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix memory leak in SnapBuildSerialize.
Date: 2021-01-13 04:17:58
Message-ID: E1kzXba-0002DH-4T@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix memory leak in SnapBuildSerialize.

The memory for the snapshot was leaked while serializing it to disk during
logical decoding. This memory will be freed only once walsender stops
streaming the changes. This can lead to a huge memory increase when master
logs Standby Snapshot too frequently say when the user is trying to create
many replication slots.

Reported-by: funnyxj(dot)fxj(at)alibaba-inc(dot)com
Diagnosed-by: funnyxj(dot)fxj(at)alibaba-inc(dot)com
Author: Amit Kapila
Backpatch-through: 9.5
Discussion: https://postgr.es/m/033ab54c-6393-42ee-8ec9-2b399b5d8cde.funnyxj.fxj@alibaba-inc.com

Branch
------
REL9_5_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/4bccceaa9179bffbe3469909e28ce4ded34f0a09

Modified Files
--------------
src/backend/replication/logical/snapbuild.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2021-01-13 06:37:00 pgsql: Don't use elog() in src/port/pwrite.c.
Previous Message Amit Kapila 2021-01-13 02:32:54 pgsql: Optimize DropRelFileNodesAllBuffers() for recovery.