@@ -1347,7 +1347,7 @@ bool MtmRefreshClusterStatus(bool nowait)
13471347 int clique_size ;
13481348 int i ;
13491349
1350- if (!MtmUseRaftable || ! MtmBuildConnectivityMatrix (matrix , nowait )) {
1350+ if (!MtmBuildConnectivityMatrix (matrix , nowait )) {
13511351 /* RAFT is not available */
13521352 return false;
13531353 }
@@ -1436,11 +1436,12 @@ void MtmOnNodeDisconnect(int nodeId)
14361436 BIT_SET (Mtm -> reconnectMask , nodeId - 1 );
14371437 MtmUnlock ();
14381438
1439- RaftableSet (psprintf ("node-mask-%d" , MtmNodeId ), & Mtm -> connectivityMask , sizeof Mtm -> connectivityMask , false);
1439+ RaftableSet (psprintf ("node-mask-%d" , MtmNodeId ), & Mtm -> connectivityMask , sizeof Mtm -> connectivityMask , true); /* false); -- TODO: raftable is hanged with nowait=true */
14401440
14411441 MtmSleep (MSEC_TO_USEC (MtmRaftPollDelay ));
14421442
1443- if (!MtmRefreshClusterStatus (false)) {
1443+ if (!MtmUseRaftable )
1444+ {
14441445 MtmLock (LW_EXCLUSIVE );
14451446 if (!BIT_CHECK (Mtm -> disabledNodeMask , nodeId - 1 )) {
14461447 MtmDisableNode (nodeId );
@@ -1457,7 +1458,9 @@ void MtmOnNodeDisconnect(int nodeId)
14571458 }
14581459 }
14591460 MtmUnlock ();
1460- }
1461+ } else {
1462+ MtmRefreshClusterStatus (true); /* false); -- TODO: raftable can handg in nowait=true */
1463+ }
14611464}
14621465
14631466void MtmOnNodeConnect (int nodeId )
@@ -1467,7 +1470,7 @@ void MtmOnNodeConnect(int nodeId)
14671470 MtmUnlock ();
14681471
14691472 MTM_LOG1 ("Reconnect node %d" , nodeId );
1470- RaftableSet (psprintf ("node-mask-%d" , MtmNodeId ), & Mtm -> connectivityMask , sizeof Mtm -> connectivityMask , false);
1473+ RaftableSet (psprintf ("node-mask-%d" , MtmNodeId ), & Mtm -> connectivityMask , sizeof Mtm -> connectivityMask , true); /* false); -- TODO: raftable is hanged with nowait=true */
14711474}
14721475
14731476
0 commit comments