From 42681dffafa2f9dea3e034d0c29a3f1a7b3b07e8 Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Tue, 23 Aug 2022 10:08:43 +0530 Subject: [PATCH] Add CHECK_FOR_INTERRUPTS while decoding changes. While decoding changes in a loop, if we skip all the changes there is no CFI making the loop uninterruptible. Reported-by: Whale Song and Andrey Borodin Bug: 17580 Author: Masahiko Sawada Reviwed-by: Amit Kapila Backpatch-through: 10 Discussion: https://postgr.es/m/17580-849c1d5b6d7eb422@postgresql.org Discussion: https://postgr.es/m/B319ECD6-9A28-4CDF-A8F4-3591E0BF2369@yandex-team.ru --- 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 8da5f9089c7..8971df140b8 100644 --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -2085,6 +2085,8 @@ ReorderBufferProcessTXN(ReorderBuffer *rb, ReorderBufferTXN *txn, Relation relation = NULL; Oid reloid; + CHECK_FOR_INTERRUPTS(); + /* * We can't call start stream callback before processing first * change.