diff options
author | Amit Kapila <akapila@postgresql.org> | 2022-10-21 12:22:47 +0530 |
---|---|---|
committer | Amit Kapila <akapila@postgresql.org> | 2022-10-21 12:22:47 +0530 |
commit | 1eed947f9852de4bd378aa0f5006a4bb8db67c09 (patch) | |
tree | 402151f8ccd5ba7554f7d3dc58e3c28bd74c13b7 /src/backend/replication/logical/reorderbuffer.c | |
parent | 38dbaaf273877355c2deeafa4b479d315a78196b (diff) | |
download | postgresql-1eed947f9852de4bd378aa0f5006a4bb8db67c09.tar.gz postgresql-1eed947f9852de4bd378aa0f5006a4bb8db67c09.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
Diffstat (limited to 'src/backend/replication/logical/reorderbuffer.c')
-rw-r--r-- | src/backend/replication/logical/reorderbuffer.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c index 967e5227423..4b6adfb92b5 100644 --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -2830,6 +2830,8 @@ ReorderBufferRestoreChanges(ReorderBuffer *rb, ReorderBufferTXN *txn, int readBytes; ReorderBufferDiskChange *ondisk; + CHECK_FOR_INTERRUPTS(); + if (*fd == -1) { char path[MAXPGPATH]; |