msgd can crash if multiple nodes in the cluster are rebooted at the same time.
"is_node_down" and "is_clm_down" can both be set to true, if the CLM tracking
callback comes in quickly. If this occurs during middleware failover, the
cleanup code in msgd can cause a crash because it tries to delete the same
node twice.
Don't delete the same node twice.
---
src/msg/msgd/mqd_saf.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/msg/msgd/mqd_saf.c b/src/msg/msgd/mqd_saf.c
index 10ac817..28a8338 100644
--- a/src/msg/msgd/mqd_saf.c
+++ b/src/msg/msgd/mqd_saf.c
@@ -268,12 +268,12 @@ void mqd_saf_csi_set_cb(SaInvocationT invocation, const
SaNameT *compName,
}
}
}
- if (pNdNode->info.is_node_down == true) {
+
+ if (pNdNode->info.is_node_down == true)
mqd_tmr_stop(&pNdNode->info.timer);
- mqd_del_node_down_info(pMqd, nodeid);
- mqd_red_db_node_del(pMqd, pNdNode);
- }
- if (pNdNode->info.is_clm_down == true) {
+
+ if (pNdNode->info.is_clm_down ||
+ pNdNode->info.is_node_down) {
mqd_red_db_node_del(pMqd, pNdNode);
mqd_del_node_down_info(pMqd, nodeid);
}
--
2.9.5
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel