File tree 1 file changed +4
-1
lines changed
1 file changed +4
-1
lines changed Original file line number Diff line number Diff line change @@ -95,6 +95,7 @@ MtmCheckState(void)
95
95
/* ANY -> MTM_IN_MINORITY */
96
96
if (nConnected < Mtm -> nAllNodes /2 + 1 )
97
97
{
98
+ BIT_SET (Mtm -> disabledNodeMask , MtmNodeId - 1 );
98
99
MtmSetClusterStatus (MTM_IN_MINORITY );
99
100
return ;
100
101
}
@@ -119,7 +120,7 @@ MtmCheckState(void)
119
120
break ;
120
121
121
122
case MTM_RECOVERED :
122
- if (nReceivers == nEnabled - 1 && nSenders == nEnabled - 1 )
123
+ if (nReceivers == nEnabled - 1 && nSenders == nEnabled - 1 && nEnabled == nConnected )
123
124
{
124
125
MtmSetClusterStatus (MTM_ONLINE );
125
126
return ;
@@ -250,7 +251,9 @@ void MtmDisableNode(int nodeId)
250
251
251
252
if (Mtm -> nLiveNodes >= Mtm -> nAllNodes /2 + 1 ) {
252
253
/* Make decision about prepared transaction status only in quorum */
254
+ MtmLock (LW_EXCLUSIVE );
253
255
MtmPollStatusOfPreparedTransactionsForDisabledNode (nodeId );
256
+ MtmUnlock ();
254
257
}
255
258
}
256
259
You can’t perform that action at this time.
0 commit comments