Thread

  1. Re: Avoid retaining conflict-related data when no tables are subscribed

    Nisha Moond <nisha.moond412@gmail.com> — 2025-08-28T07:53:53Z

    On Thu, Aug 28, 2025 at 7:54 AM Zhijie Hou (Fujitsu)
    <houzj.fnst@fujitsu.com> wrote:
    >
    > Hi,
    >
    > My colleague Nisha reported an issue to me off-list: dead tuples can't
    > be removed when retain_dead_tuples is enabled for a subscription with no tables.
    >
    > This appears to stem from the inability to advance the non-removable transaction
    > ID when AllTablesyncsReady() returns false. Since this function returns false
    > when no tables are present, which leads to unnecessary data retention until a
    > table is added to the subscription.
    >
    > Since dead tuples don't need to be retained when no tables are subscribed, here
    > is a patch to fix it, modifying AllTablesyncsReady() to allows no tables to be
    > treated as a ready state when explicitly requested.
    >
    
    Thank you Hou-san for the patch. I've verified the fix and tested the
    changes. The patch LGTM.
    
    --
    Thanks,
    Nisha