diff options
author | Amit Kapila <akapila@postgresql.org> | 2022-08-23 08:51:20 +0530 |
---|---|---|
committer | Amit Kapila <akapila@postgresql.org> | 2022-08-23 08:51:20 +0530 |
commit | 9415873aee9dbf074616b658ffba41c5280a8e5c (patch) | |
tree | df9d55693d4b453e3bc2156fb09a84a4b6f7e4b6 /src/backend | |
parent | 2cf16cd7497d1dd465f0b1ff67e6c15347233d71 (diff) | |
download | postgresql-9415873aee9dbf074616b658ffba41c5280a8e5c.tar.gz postgresql-9415873aee9dbf074616b658ffba41c5280a8e5c.zip |
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
Diffstat (limited to 'src/backend')
-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 475f76fa5e0..4fe456cfa99 100644 --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -1525,6 +1525,8 @@ ReorderBufferCommit(ReorderBuffer *rb, TransactionId xid, Relation relation = NULL; Oid reloid; + CHECK_FOR_INTERRUPTS(); + switch (change->action) { case REORDER_BUFFER_CHANGE_INTERNAL_SPEC_CONFIRM: |