aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmit Kapila <akapila@postgresql.org>2022-10-21 12:10:11 +0530
committerAmit Kapila <akapila@postgresql.org>2022-10-21 12:10:11 +0530
commitf7f82cf05a3fd902187f94b1f52619484fc9691b (patch)
treed157661b68a8d80368acd97b454a6408733d4350
parent02600886c8a8c47f61d8911fdf2938904287b62c (diff)
downloadpostgresql-f7f82cf05a3fd902187f94b1f52619484fc9691b.tar.gz
postgresql-f7f82cf05a3fd902187f94b1f52619484fc9691b.zip
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
-rw-r--r--src/backend/replication/logical/reorderbuffer.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c
index 7f0ecec3175..76e6cf5134f 100644
--- a/src/backend/replication/logical/reorderbuffer.c
+++ b/src/backend/replication/logical/reorderbuffer.c
@@ -2595,6 +2595,8 @@ ReorderBufferRestoreChanges(ReorderBuffer *rb, ReorderBufferTXN *txn,
int readBytes;
ReorderBufferDiskChange *ondisk;
+ CHECK_FOR_INTERRUPTS();
+
if (*fd == -1)
{
char path[MAXPGPATH];