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. Best Regards, Hou zj
v1-0001-Avoid-retaining-conflict-related-data-when-no-tab.patch
Description: v1-0001-Avoid-retaining-conflict-related-data-when-no-tab.patch
