postgres.git / summary / log / commit / refs
commit f972ec5c285c3bc50d81f8044e08cd636017ab68
Author: Amit Kapila <akapila@postgresql.org>
Date: Tue Aug 23 04:50:02 2022 +0000
First released in: 16.0, 10.23, 11.18, 12.13, 13.9, 14.6, 15.0
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 1c21a1d14b6..89cf9f9389c 100644
--- a/src/backend/replication/logical/reorderbuffer.c
+++ b/src/backend/replication/logical/reorderbuffer.c
@@ -2096,6 +2096,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.
[parent: 1d77afefbd1d]