postgres.git / summary / log / commit / refs

commit    51e9469a41ad04838285a40dc6aacdb45b9749b9
Author:   Amit Kapila <akapila@postgresql.org>
Date:     Tue Aug 23 03:12:51 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 6c9b5dbced8..1e297abf8d6 100644 --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -1517,6 +1517,8 @@ ReorderBufferCommit(ReorderBuffer *rb, TransactionId xid, Relation relation = NULL; Oid reloid; + CHECK_FOR_INTERRUPTS(); + switch (change->action) { case REORDER_BUFFER_CHANGE_INTERNAL_SPEC_CONFIRM: [parent: 116f20f92656]