We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see ourdocumentation.
There was an error while loading.Please reload this page.
1 parentdd1634f commitc17006fCopy full SHA for c17006f
Cluster.pm
@@ -108,6 +108,7 @@ sub configure
108
multimaster.max_nodes = 3
109
multimaster.ignore_tables_without_pk = true
110
multimaster.twopc_min_timeout = 2000
111
+ log_line_prefix = '%t: '
112
));
113
114
$node->append_conf("pg_hba.conf",qq(
multimaster.c
@@ -2679,6 +2679,13 @@ void MtmReceiverStarted(int nodeId)
2679
MtmUnlock();
2680
}
2681
2682
+voidMtmReleaseRecoverySlot(intnodeId)
2683
+{
2684
+if (Mtm->recoverySlot==nodeId) {
2685
+Mtm->recoverySlot=0;
2686
+}
2687
2688
+
2689
/*
2690
* Determine when and how we should open replication slot.
2691
* Druing recovery we need to open only one replication slot from which node should receive all transactions.
@@ -2810,7 +2817,6 @@ MtmReplicationStartupHook(struct PGLogicalStartupHookArgs* args)
2810
2817
}else {
2811
2818
elog(ERROR,"Replication mode is not specified");
2812
2819
2813
-break;
2814
2820
}elseif (strcmp("mtm_restart_pos",elem->defname)==0) {
2815
2821
if (elem->arg!=NULL&&strVal(elem->arg)!=NULL) {
2816
2822
recoveryStartPos=intVal(elem->arg);
multimaster.h
@@ -348,6 +348,7 @@ extern bool MtmWatchdog(timestamp_t now);
348
externvoidMtmCheckHeartbeat(void);
349
externvoidMtmResetTransaction(void);
350
externvoidMtmUpdateLockGraph(intnodeId,voidconst*messageBody,intmessageSize);
351
+externvoidMtmReleaseRecoverySlot(intnodeId);
352
externPGconn*PQconnectdb_safe(constchar*conninfo);
353
354
pglogical_receiver.c
@@ -649,6 +649,7 @@ pglogical_receiver_main(Datum main_arg)
649
650
OnError:
651
PQfinish(conn);
652
+MtmReleaseRecoverySlot(nodeId);
653
MtmSleep(RECEIVER_SUSPEND_TIMEOUT);
654
655
ByteBufferFree(&buf);