On Wed, Jan 13, 2021 at 2:36 PM japin <[email protected]> wrote: > > In summary, I feel we need to fix the publisher sending the inserts > > even though the table is dropped from the publication, that is the > > patch patch proposed by japin. This solves the bug reported in this > > thread. > > > > And also, it's good to have the LogicalRepRelMap invalidation fix as a > > 0002 patch in invalidate_syncing_table_states, subscription_change_cb > > and logicalrep_rel_open as proposed by me. > > > > Thoughts? > > > > I think invalidate the LogicalRepRelMap is necessary. If the table isn't in > subscription, can we remove the LogicalRepRelMapEntry from LogicalRepRelMap?
IIUC, it's not possible to know the relid of the alter publication...dropped table in the invalidation callbacks invalidate_syncing_table_states or subscription_change_cb, so it's better to set state of all the entries to SUBREL_STATE_UNKNOWN, so that, in the next logicalrep_rel_open call the function GetSubscriptionRelState will be called and the pg_subscription_rel will be read freshly. This is inline with the reasoning specified at [1]. [1] - https://www.postgresql.org/message-id/CAFiTN-udwuc_h0TaFrSEKb-Yo1vVvkjz9TDRw7VE3P-KiPSGbQ%40mail.gmail.com With Regards, Bharath Rupireddy. EnterpriseDB: http://www.enterprisedb.com
