Fix memory leak in SnapBuildSerialize.

Amit Kapila <akapila@postgresql.org>

Commit: 0b2ae3c928b2926fafa1c423b07b949a4c3bc402
Author: Amit Kapila <akapila@postgresql.org>
Date: 2021-01-13T03:10:06Z
Releases: 12.6
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

Files

PathChange+/−
src/backend/replication/logical/snapbuild.c modified +4 −1

Discussion