Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit a0e253b

Browse files
knizhnikkelvich
authored andcommitted
Fix recovery completed message handling
1 parent 6f5342c commit a0e253b

File tree

4 files changed

+6
-5
lines changed

4 files changed

+6
-5
lines changed

multimaster.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3293,6 +3293,7 @@ void MtmRecoverNode(int nodeId)
32933293
{
32943294
Assert(BIT_CHECK(Mtm->disabledNodeMask, nodeId-1));
32953295
BIT_CLEAR(Mtm->stoppedNodeMask, nodeId-1);
3296+
BIT_CLEAR(Mtm->stalledNodeMask, nodeId-1);
32963297
}
32973298
MtmUnlock();
32983299

@@ -3551,8 +3552,8 @@ MtmReplicationRowFilterHook(struct PGLogicalRowFilterArgs* args)
35513552
* Filter received transactions at destination side.
35523553
* This function is executed by receiver,
35533554
* so there are no race conditions and it is possible to update nodes[i].restartLSN without lock.
3554-
* It is more efficient to filter records at senders size (done by MtmReplicationTxnFilterHook) to avoid sending useless data through network. But asynchronous nature of
3555-
* logical replications makes it not possible to guarantee (at least I failed to do it)
3555+
* It is more efficient to filter records at senders size (done by MtmReplicationTxnFilterHook) to avoid sending useless data through network.
3556+
* But asynchronous nature of logical replications makes it not possible to guarantee (at least I failed to do it)
35563557
* that replica do not receive deteriorated data.
35573558
*/
35583559
bool MtmFilterTransaction(char* record, int size)

pglogical_apply.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1119,7 +1119,7 @@ void MtmExecutor(void* work, size_t size)
11191119
case 'Z':
11201120
{
11211121
MtmRecoveryCompleted();
1122-
continue;
1122+
break;
11231123
}
11241124
default:
11251125
elog(ERROR, "unknown action of type %c", action);

pglogical_proto.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ pglogical_write_commit(StringInfo out, PGLogicalOutputData *data,
182182
{
183183
uint8 event = 0;
184184

185-
MTM_LOG1("%d: pglogical_write_commit XID=%ld node=%d restart_decoding_lsn=%lx first_lsn=%lx end_lsn=%lx confirmed_flush=%lx",
185+
MTM_LOG2("%d: pglogical_write_commit XID=%ld node=%d restart_decoding_lsn=%lx first_lsn=%lx end_lsn=%lx confirmed_flush=%lx",
186186
MyProcPid, (long)txn->xid, MtmReplicationNodeId, txn->restart_decoding_lsn, txn->first_lsn, txn->end_lsn, MyReplicationSlot->data.confirmed_flush);
187187

188188

tests2/test_recovery.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ def tearDownClass(self):
8787
print('tearDown')
8888
self.client.stop()
8989
# XXX: check nodes data identity here
90-
subprocess.check_call(['docker-compose','down'])
90+
# subprocess.check_call(['docker-compose','down'])
9191

9292
def setUp(self):
9393
warnings.simplefilter("ignore", ResourceWarning)

0 commit comments

Comments
 (0)