From ce20f8b9f4354b46b40fd6ebf7ce5c37d08747e0 Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Fri, 21 Oct 2022 12:57:18 +0530 Subject: [PATCH] Add CHECK_FOR_INTERRUPTS while restoring changes during decoding. 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 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c index f55bf44290..c29894041e 100644 --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -4171,6 +4171,8 @@ ReorderBufferRestoreChanges(ReorderBuffer *rb, ReorderBufferTXN *txn, int readBytes; ReorderBufferDiskChange *ondisk; + CHECK_FOR_INTERRUPTS(); + if (*fd == -1) { char path[MAXPGPATH];