File tree Expand file tree Collapse file tree 1 file changed +4
-1
lines changed
Expand file tree Collapse file tree 1 file changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -95,6 +95,7 @@ MtmCheckState(void)
9595 /* ANY -> MTM_IN_MINORITY */
9696 if (nConnected < Mtm -> nAllNodes /2 + 1 )
9797 {
98+ BIT_SET (Mtm -> disabledNodeMask , MtmNodeId - 1 );
9899 MtmSetClusterStatus (MTM_IN_MINORITY );
99100 return ;
100101 }
@@ -119,7 +120,7 @@ MtmCheckState(void)
119120 break ;
120121
121122 case MTM_RECOVERED :
122- if (nReceivers == nEnabled - 1 && nSenders == nEnabled - 1 )
123+ if (nReceivers == nEnabled - 1 && nSenders == nEnabled - 1 && nEnabled == nConnected )
123124 {
124125 MtmSetClusterStatus (MTM_ONLINE );
125126 return ;
@@ -250,7 +251,9 @@ void MtmDisableNode(int nodeId)
250251
251252 if (Mtm -> nLiveNodes >= Mtm -> nAllNodes /2 + 1 ) {
252253 /* Make decision about prepared transaction status only in quorum */
254+ MtmLock (LW_EXCLUSIVE );
253255 MtmPollStatusOfPreparedTransactionsForDisabledNode (nodeId );
256+ MtmUnlock ();
254257 }
255258}
256259
You can’t perform that action at this time.
0 commit comments