Fix memory leak in SnapBuildSerialize.
authorAmit Kapila <akapila@postgresql.org>
Wed, 13 Jan 2021 02:49:50 +0000 (08:19 +0530)
committerAmit Kapila <akapila@postgresql.org>
Wed, 13 Jan 2021 02:49:50 +0000 (08:19 +0530)
commitee1b38f65948cb09ecf3c39b58bd88aabc950e7c
tree7a94c78e702d713a5d2686a339e5f3af571d1686
parentbea449c635c0e68e21610593594c1e5d52842cdd
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.fxj@alibaba-inc.com
Diagnosed-by: funnyxj.fxj@alibaba-inc.com
Author: Amit Kapila
Backpatch-through: 9.5
Discussion: https://postgr.es/m/033ab54c-6393-42ee-8ec9-2b399b5d8cde.funnyxj.fxj@alibaba-inc.com
src/backend/replication/logical/snapbuild.c