]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Add CHECK_FOR_INTERRUPTS while restoring changes during decoding.
authorAmit Kapila <akapila@postgresql.org>
Fri, 21 Oct 2022 07:13:28 +0000 (12:43 +0530)
committerAmit Kapila <akapila@postgresql.org>
Fri, 21 Oct 2022 07:13:28 +0000 (12:43 +0530)
Previously in commit 42681dffaf, we added CFI during decoding changes but
missed another similar case that can happen while restoring changes
spilled to disk back into memory in a loop.

Reported-by: Robert Haas
Author: Amit Kapila
Backpatch-through: 10
Discussion: https://postgr.es/m/CA+TgmoaLObg0QbstbC8ykDwOdD1bDkr4AbPpB=0DPgA2JW0mFg@mail.gmail.com

src/backend/replication/logical/reorderbuffer.c

index 5d42283b56628937630ffcad8326f5533e81e4e9..ea37b0bbe881e50bc5fe4d96f8bb5e05d99c4400 100644 (file)
@@ -4110,6 +4110,8 @@ ReorderBufferRestoreChanges(ReorderBuffer *rb, ReorderBufferTXN *txn,
                int                     readBytes;
                ReorderBufferDiskChange *ondisk;
 
+               CHECK_FOR_INTERRUPTS();
+
                if (*fd == -1)
                {
                        char            path[MAXPGPATH];