diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index 0ff0982f7b..89fc6882be 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -47,6 +47,7 @@ GetSubscription(Oid subid, bool missing_ok) Form_pg_subscription subform; Datum datum; bool isnull; + XLogRecPtr skip_lsn; tup = SearchSysCache1(SUBSCRIPTIONOID, ObjectIdGetDatum(subid)); @@ -72,6 +73,27 @@ GetSubscription(Oid subid, bool missing_ok) sub->disableonerr = subform->subdisableonerr; sub->skiplsn = subform->subskiplsn; + ereport(LOG, + (errmsg("GetSubscription(1) subform->subskiplsn %X/%X sub->skiplsn %X/%X", + LSN_FORMAT_ARGS(subform->subskiplsn), + LSN_FORMAT_ARGS(sub->skiplsn)))); + + /* Get skiplsn */ + datum = SysCacheGetAttr(SUBSCRIPTIONOID, + tup, + Anum_pg_subscription_subskiplsn, + &isnull); + Assert(!isnull); + sub->skiplsn = DatumGetLSN(datum); + + skip_lsn = subform->subskiplsn; + + ereport(LOG, + (errmsg("GetSubscription(2) subform->subskiplsn %X/%X sub->skiplsn %X/%X, skip_lsn %X/%X", + LSN_FORMAT_ARGS(subform->subskiplsn), + LSN_FORMAT_ARGS(sub->skiplsn), + LSN_FORMAT_ARGS(skip_lsn)))); + /* Get conninfo */ datum = SysCacheGetAttr(SUBSCRIPTIONOID, tup, diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index 85dacbe93d..1398556455 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -1304,6 +1304,12 @@ AlterSubscription(ParseState *pstate, AlterSubscriptionStmt *stmt, tup = heap_modify_tuple(tup, RelationGetDescr(rel), values, nulls, replaces); + ereport(LOG, + (errmsg("AlterSubscription t_len %u sizeof(Subscription) %lu sizeof(FormData_pg_subscription) %lu", + tup->t_len, + sizeof(Subscription), + sizeof(FormData_pg_subscription)))); + CatalogTupleUpdate(rel, &tup->t_self, tup); heap_freetuple(tup); diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c index f3868b3e1f..f7f77071c5 100644 --- a/src/backend/replication/logical/worker.c +++ b/src/backend/replication/logical/worker.c @@ -3898,7 +3898,13 @@ maybe_start_skipping_changes(XLogRecPtr finish_lsn) */ if (likely(XLogRecPtrIsInvalid(MySubscription->skiplsn) || MySubscription->skiplsn != finish_lsn)) + { + ereport(LOG, + (errmsg("not started skipping changes: my_skiplsn %X/%X finish_lsn %X/%X", + LSN_FORMAT_ARGS(MySubscription->skiplsn), + LSN_FORMAT_ARGS(finish_lsn)))); return; + } /* Start skipping all changes of this transaction */ skip_xact_finish_lsn = finish_lsn; @@ -3969,6 +3975,12 @@ clear_subscription_skip_lsn(XLogRecPtr finish_lsn) subform = (Form_pg_subscription) GETSTRUCT(tup); + ereport(LOG, + (errmsg("clear subskiplsn %X/%X mysubskiplsn %X/%X finish_lsn %X/%X", + LSN_FORMAT_ARGS(subform->subskiplsn), + LSN_FORMAT_ARGS(myskiplsn), + LSN_FORMAT_ARGS(finish_lsn)))); + /* * Clear the subskiplsn. If the user has already changed subskiplsn before * clearing it we don't update the catalog and the replication origin