deadlock_simulate_add_drop_pub.patch
application/octet-stream
Filename: deadlock_simulate_add_drop_pub.patch
Type: application/octet-stream
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/backend/commands/subscriptioncmds.c | 1 | 0 |
| src/backend/replication/logical/origin.c | 1 | 0 |
| src/backend/replication/logical/tablesync.c | 1 | 0 |
diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index e23b0de7242..22d0a2626eb 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -990,6 +990,7 @@ AlterSubscription_refresh(Subscription *sub, bool copy_data, */ ReplicationOriginNameForLogicalRep(sub->oid, relid, originname, sizeof(originname)); + sleep(3); replorigin_drop_by_name(originname, true, false); } diff --git a/src/backend/replication/logical/origin.c b/src/backend/replication/logical/origin.c index 87f10e50dcc..e1a58c7970d 100644 --- a/src/backend/replication/logical/origin.c +++ b/src/backend/replication/logical/origin.c @@ -445,6 +445,7 @@ replorigin_drop_by_name(const char *name, bool missing_ok, bool nowait) Assert(IsTransactionState()); rel = table_open(ReplicationOriginRelationId, RowExclusiveLock); + sleep(2); roident = replorigin_by_name(name, missing_ok); diff --git a/src/backend/replication/logical/tablesync.c b/src/backend/replication/logical/tablesync.c index e4fd6347fd1..4f501bf1b55 100644 --- a/src/backend/replication/logical/tablesync.c +++ b/src/backend/replication/logical/tablesync.c @@ -376,6 +376,7 @@ process_syncing_tables_for_sync(XLogRecPtr current_lsn) replorigin_session_origin_lsn = InvalidXLogRecPtr; replorigin_session_origin_timestamp = 0; + sleep(6); /* * Drop the tablesync's origin tracking if exists. *