@@ -1348,7 +1348,7 @@ bool MtmRefreshClusterStatus(bool nowait)
13481348 int clique_size ;
13491349 int i ;
13501350
1351- if (!MtmUseRaftable || ! MtmBuildConnectivityMatrix (matrix , nowait )) {
1351+ if (!MtmBuildConnectivityMatrix (matrix , nowait )) {
13521352 /* RAFT is not available */
13531353 return false;
13541354 }
@@ -1437,11 +1437,12 @@ void MtmOnNodeDisconnect(int nodeId)
14371437 BIT_SET (Mtm -> reconnectMask , nodeId - 1 );
14381438 MtmUnlock ();
14391439
1440- RaftableSet (psprintf ("node-mask-%d" , MtmNodeId ), & Mtm -> connectivityMask , sizeof Mtm -> connectivityMask , false);
1440+ RaftableSet (psprintf ("node-mask-%d" , MtmNodeId ), & Mtm -> connectivityMask , sizeof Mtm -> connectivityMask , true); /* false); -- TODO: raftable is hanged with nowait=true */
14411441
14421442 MtmSleep (MSEC_TO_USEC (MtmRaftPollDelay ));
14431443
1444- if (!MtmRefreshClusterStatus (false)) {
1444+ if (!MtmUseRaftable )
1445+ {
14451446 MtmLock (LW_EXCLUSIVE );
14461447 if (!BIT_CHECK (Mtm -> disabledNodeMask , nodeId - 1 )) {
14471448 MtmDisableNode (nodeId );
@@ -1458,7 +1459,9 @@ void MtmOnNodeDisconnect(int nodeId)
14581459 }
14591460 }
14601461 MtmUnlock ();
1461- }
1462+ } else {
1463+ MtmRefreshClusterStatus (true); /* false); -- TODO: raftable can handg in nowait=true */
1464+ }
14621465}
14631466
14641467void MtmOnNodeConnect (int nodeId )
@@ -1468,7 +1471,7 @@ void MtmOnNodeConnect(int nodeId)
14681471 MtmUnlock ();
14691472
14701473 MTM_LOG1 ("Reconnect node %d" , nodeId );
1471- RaftableSet (psprintf ("node-mask-%d" , MtmNodeId ), & Mtm -> connectivityMask , sizeof Mtm -> connectivityMask , false);
1474+ RaftableSet (psprintf ("node-mask-%d" , MtmNodeId ), & Mtm -> connectivityMask , sizeof Mtm -> connectivityMask , true); /* false); -- TODO: raftable is hanged with nowait=true */
14721475}
14731476
14741477
0 commit comments