From 1fc128ec7c828bf569c1aff64872368d8a46f47b Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Thu, 7 Jan 2021 17:08:11 +1100 Subject: [PATCH v12] Tablesync extra logging. This patch only adds some extra logging which may be helpful for testing, but is not for committing. --- src/backend/commands/subscriptioncmds.c | 6 ++++-- src/backend/replication/logical/tablesync.c | 19 ++++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index 0142278..a627271 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -1119,8 +1119,9 @@ DropSubscription(DropSubscriptionStmt *stmt, bool isTopLevel) } else { - elog(DEBUG1, "DropSubscription: dropping the tablesync slot \"%s\".", syncslotname); + elog(LOG, "!!>> DropSubscription: dropping the tablesync slot \"%s\".", syncslotname); ReplicationSlotDropAtPubNode(wrconn, syncslotname); + elog(LOG, "!!>> DropSubscription: dropped the tablesync slot \"%s\".", syncslotname); } } PG_FINALLY(); @@ -1135,8 +1136,9 @@ DropSubscription(DropSubscriptionStmt *stmt, bool isTopLevel) originid = replorigin_by_name(originname, true); if (originid != InvalidRepOriginId) { - elog(DEBUG1, "DropSubscription: dropping origin tracking for \"%s\"", originname); + elog(LOG, "!!>> DropSubscription: dropping origin tracking for \"%s\"", originname); replorigin_drop(originid, false); + elog(LOG, "!!>> DropSubscription: dropped origin tracking for \"%s\"", originname); } } list_free(rstates); diff --git a/src/backend/replication/logical/tablesync.c b/src/backend/replication/logical/tablesync.c index 979a2ac..306be98 100644 --- a/src/backend/replication/logical/tablesync.c +++ b/src/backend/replication/logical/tablesync.c @@ -301,8 +301,9 @@ process_syncing_tables_for_sync(XLogRecPtr current_lsn) MyLogicalRepWorker->relid); PG_TRY(); { - elog(DEBUG1, "process_syncing_tables_for_sync: dropping the tablesync slot \"%s\".", syncslotname); + elog(LOG, "!!>> process_syncing_tables_for_sync: dropping the tablesync slot \"%s\".", syncslotname); ReplicationSlotDropAtPubNode(wrconn, syncslotname); + elog(LOG, "!!>> process_syncing_tables_for_sync: dropped the tablesync slot \"%s\".", syncslotname); } PG_FINALLY(); { @@ -473,8 +474,9 @@ process_syncing_tables_for_apply(XLogRecPtr current_lsn) originid = replorigin_by_name(originname, true); if (OidIsValid(originid)) { - elog(DEBUG1, "process_syncing_tables_for_apply: dropping tablesync origin tracking for \"%s\".", originname); + elog(LOG, "!!>> process_syncing_tables_for_apply: dropping tablesync origin tracking for \"%s\".", originname); replorigin_drop(originid, false); + elog(LOG, "!!>> process_syncing_tables_for_apply: dropped tablesync origin tracking for \"%s\".", originname); } } @@ -973,15 +975,17 @@ LogicalRepSyncTableStart(XLogRecPtr *origin_startpos) * The COPY phase was previously done, but tablesync then crashed/etc * before it was able to finish normally. */ - elog(DEBUG1, "LogicalRepSyncTableStart: tablesync relstate was SUBREL_STATE_TCOPYDONE."); + elog(LOG, "!!>> LogicalRepSyncTableStart: tablesync relstate was SUBREL_STATE_TCOPYDONE."); StartTransactionCommand(); /* * The origin tracking name must already exist (missing_ok=false). */ originid = replorigin_by_name(originname, false); + elog(LOG, "!!>> LogicalRepSyncTableStart: 2 replorigin_session_setup \"%s\".", originname); replorigin_session_setup(originid); replorigin_session_origin = originid; + elog(LOG, "!!>> LogicalRepSyncTableStart: 2 replorigin_session_get_progress \"%s\".", originname); *origin_startpos = replorigin_session_get_progress(false); goto copy_table_done; @@ -1030,6 +1034,7 @@ LogicalRepSyncTableStart(XLogRecPtr *origin_startpos) * for the catchup phase after COPY is done, so tell it to use the * snapshot to make the final data consistent. */ + elog(LOG, "!!>> LogicalRepSyncTableStart: walrcv_create_slot for \"%s\".", slotname); walrcv_create_slot(wrconn, slotname, false, CRS_USE_SNAPSHOT, origin_startpos); @@ -1061,8 +1066,9 @@ LogicalRepSyncTableStart(XLogRecPtr *origin_startpos) * If something failed during copy table then cleanup the created * slot. */ - elog(DEBUG1, "LogicalRepSyncTableStart: tablesync copy failed. Dropping the tablesync slot \"%s\".", slotname); + elog(LOG, "!!>> LogicalRepSyncTableStart: tablesync copy failed. Dropping the tablesync slot \"%s\".", slotname); ReplicationSlotDropAtPubNode(wrconn, slotname); + elog(LOG, "!!>> LogicalRepSyncTableStart: tablesync copy failed. Dropped the tablesync slot \"%s\".", slotname); pfree(slotname); slotname = NULL; @@ -1079,9 +1085,12 @@ LogicalRepSyncTableStart(XLogRecPtr *origin_startpos) * Origin tracking does not exist. Create it now, and advance to LSN * got from walrcv_create_slot. */ + elog(LOG, "!!>> LogicalRepSyncTableStart: 1 replorigin_create \"%s\".", originname); originid = replorigin_create(originname); + elog(LOG, "!!>> LogicalRepSyncTableStart: 1 replorigin_session_setup \"%s\".", originname); replorigin_session_setup(originid); replorigin_session_origin = originid; + elog(LOG, "!!>> LogicalRepSyncTableStart: 1 replorigin_advance \"%s\".", originname); replorigin_advance(originid, *origin_startpos, InvalidXLogRecPtr, true /* go backward */ , true /* WAL log */ ); } @@ -1104,7 +1113,7 @@ LogicalRepSyncTableStart(XLogRecPtr *origin_startpos) copy_table_done: - elog(DEBUG1, "LogicalRepSyncTableStart: '%s' origin_startpos lsn %X/%X", + elog(LOG, "!!>> LogicalRepSyncTableStart: '%s' origin_startpos lsn %X/%X", originname, (uint32) (*origin_startpos >> 32), (uint32) *origin_startpos); -- 1.8.3.1