add_logs_v2.patch
application/octet-stream
Filename: add_logs_v2.patch
Type: application/octet-stream
Part: 0
Patch
Format: unified
Series: patch v2
| File | + | − |
|---|---|---|
| src/backend/catalog/pg_subscription.c | 22 | 0 |
| src/backend/commands/subscriptioncmds.c | 6 | 0 |
| src/backend/replication/logical/worker.c | 12 | 0 |
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