]> granicus.if.org Git - postgresql/commit
Fix leaking of small spilled subtransactions during logical decoding.
authorAndres Freund <andres@anarazel.de>
Mon, 19 Jun 2017 01:48:22 +0000 (18:48 -0700)
committerAndres Freund <andres@anarazel.de>
Mon, 19 Jun 2017 02:14:09 +0000 (19:14 -0700)
commita27c566c77f86ac61633da05a284c1cc4a8fa389
tree35a69e2717951109f50958e74a8cb9b29f9dd120
parent6338b50b933520551d2d6b6a2e5b7de8e53fe9e2
Fix leaking of small spilled subtransactions during logical decoding.

When, during logical decoding, a transaction gets too big, it's
contents get spilled to disk. Not just the top-transaction gets
spilled, but *also* all of its subtransactions, even if they're not
that large themselves.  Unfortunately we didn't clean up
such small spilled subtransactions from disk.

Fix that, by keeping better track of whether a transaction has been
spilled to disk.

Author: Andres Freund
Reported-By: Dmitriy Sarafannikov, Fabrízio de Royes Mello
Discussion:
    https://postgr.es/m/1457621358.355011041@f382.i.mail.ru
    https://postgr.es/m/CAFcNs+qNMhNYii4nxpO6gqsndiyxNDYV0S=JNq0v_sEE+9PHXg@mail.gmail.com
Backpatch: 9.4-, where logical decoding was introduced
src/backend/replication/logical/reorderbuffer.c
src/include/replication/reorderbuffer.h