File tree 2 files changed +6
-0
lines changed
2 files changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -1000,6 +1000,7 @@ dmq_receiver_loop(PG_FUNCTION_ARGS)
1000
1000
1001
1001
/* setup queues with backends */
1002
1002
seg = dsm_create (dmq_toc_size (), 0 );
1003
+ dsm_pin_mapping (seg );
1003
1004
toc = shm_toc_create (DMQ_MQ_MAGIC , dsm_segment_address (seg ),
1004
1005
dmq_toc_size ());
1005
1006
mq_handles = palloc (MaxBackends * sizeof (shm_mq_handle * ));
Original file line number Diff line number Diff line change @@ -500,6 +500,11 @@ void MtmOnNodeConnect(char *node_name)
500
500
else
501
501
mtm_log (MtmStateMessage , "[STATE] Node %i: connected" , node_id );
502
502
503
+ /* do not hold lock for mtm.cluster_nodes */
504
+ ResourceOwnerRelease (TopTransactionResourceOwner ,
505
+ RESOURCE_RELEASE_LOCKS ,
506
+ true, true);
507
+
503
508
LWLockAcquire (MtmStateLock , LW_EXCLUSIVE );
504
509
505
510
BIT_SET (mtm_state -> connected_mask , node_id - 1 );
You can’t perform that action at this time.
0 commit comments