Skip to content

Commit 483bab1

Browse files
committed
framework: Do not update mshost_peer when mgmt server is Up as it will be updated by status update
1 parent c8fd0c1 commit 483bab1

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

framework/cluster/src/main/java/com/cloud/cluster/ClusterManagerImpl.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -758,16 +758,7 @@ private void queueNotification(final ClusterManagerMessage msg) {
758758
}
759759

760760
switch (msg.getMessageType()) {
761-
case nodeAdded: {
762-
final List<ManagementServerHostVO> l = msg.getNodes();
763-
if (l != null && l.size() > 0) {
764-
for (final ManagementServerHostVO mshost : l) {
765-
if (mshost.getId() != _mshostId) {
766-
_mshostPeerDao.updatePeerInfo(_mshostId, mshost.getId(), mshost.getRunid(), ManagementServerHost.State.Up);
767-
}
768-
}
769-
}
770-
}
761+
case nodeAdded:
771762
break;
772763

773764
case nodeRemoved: {

server/src/main/java/com/cloud/server/StatsCollector.java

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1159,15 +1159,7 @@ public String newStatus(ClusterServicePdu pdu) {
11591159
managementServerHostStats.put(hostStatsEntry.getManagementServerHostUuid(), hostStatsEntry);
11601160

11611161
// Update peer state to Up in mshost_peer
1162-
ManagementServerHostVO mgmtServerVo = managementServerHostDao.findByMsid(managementServerNodeId);
1163-
if (mgmtServerVo != null) {
1164-
msId = mgmtServerVo.getId();
1165-
if (msId != hostStatsEntry.getManagementServerHostId()) {
1166-
managementServerHostPeerDao.updatePeerInfo(msId, hostStatsEntry.getManagementServerHostId(), hostStatsEntry.getManagementServerRunId(), ManagementServerHost.State.Up);
1167-
}
1168-
} else {
1169-
logger.warn(String.format("Cannot find management server with msid [%s]. Therefore, do not update peer info.", managementServerNodeId));
1170-
}
1162+
updatePeerInfo(hostStatsEntry);
11711163
} catch (JsonParseException e) {
11721164
logger.error("Exception in decoding of other MS hosts status from : " + pdu.getSourcePeer());
11731165
if (logger.isDebugEnabled()) {
@@ -1177,6 +1169,23 @@ public String newStatus(ClusterServicePdu pdu) {
11771169
return null;
11781170
}
11791171

1172+
private void updatePeerInfo(ManagementServerHostStatsEntry hostStatsEntry) {
1173+
// Update msId to id of the management server if msId is same as managementServerNodeId
1174+
if (msId == managementServerNodeId) {
1175+
ManagementServerHostVO mgmtServerVo = managementServerHostDao.findByMsid(managementServerNodeId);
1176+
if (mgmtServerVo != null) {
1177+
msId = mgmtServerVo.getId();
1178+
} else {
1179+
logger.warn(String.format("Cannot find management server with msid [%s]. Therefore, do not update peer info.", managementServerNodeId));
1180+
return;
1181+
}
1182+
}
1183+
// Update peer state to Up in mshost_peer
1184+
if (msId != hostStatsEntry.getManagementServerHostId()) {
1185+
managementServerHostPeerDao.updatePeerInfo(msId, hostStatsEntry.getManagementServerHostId(), hostStatsEntry.getManagementServerRunId(), ManagementServerHost.State.Up);
1186+
}
1187+
}
1188+
11801189
@Override
11811190
public void onManagementNodeJoined(List<? extends ManagementServerHost> nodeList, long selfNodeId) {
11821191
// do nothing, but wait for the status to come through

0 commit comments

Comments
 (0)