ack from me
On 23/9/21 8:20 pm, thang.d.nguyen wrote:
In large cluster size(lager than 36 nodes), and many
components reside on each node. The runtime of nodes
(AdminState and OperationalState) are take time to
update in IMM and it causes the application get wrong
state of node in IMM instead AMF already update its
data base.
This enhancement is to update these attributes in sync
to IMM.
---
src/amf/amfd/node.cc | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/amf/amfd/node.cc b/src/amf/amfd/node.cc
index a78cdc08f..04f35e73c 100644
--- a/src/amf/amfd/node.cc
+++ b/src/amf/amfd/node.cc
@@ -442,12 +442,13 @@ void avd_node_state_set(AVD_AVND *node, AVD_AVND_STATE
node_state) {
*/
void avd_node_oper_state_set(AVD_AVND *node,
SaAmfOperationalStateT oper_state) {
+ SaImmAttrNameT attributeName = (char *)"saAmfNodeOperState";
if (node->saAmfNodeOperState == oper_state) {
/* In the case of node failover, oper_state is disabled in the avnd_down
* event. Since we dont update oper_state in avnd_down because the role is
* not set to Active(there is no implementer), so updating now.
*/
- avd_saImmOiRtObjectUpdate(node->name, "saAmfNodeOperState",
+ avd_saImmOiRtObjectUpdate_sync(node->name, attributeName,
SA_IMM_ATTR_SAUINT32T,
&node->saAmfNodeOperState);
/* Send notification for node oper state down. It is set to
@@ -471,7 +472,7 @@ void avd_node_oper_state_set(AVD_AVND *node,
avd_oper_state_name[node->saAmfNodeOperState],
avd_oper_state_name[oper_state]);
node->saAmfNodeOperState = oper_state;
- avd_saImmOiRtObjectUpdate(node->name, "saAmfNodeOperState",
+ avd_saImmOiRtObjectUpdate_sync(node->name, attributeName,
SA_IMM_ATTR_SAUINT32T, &node->saAmfNodeOperState);
m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, node, AVSV_CKPT_AVND_OPER_STATE);
@@ -926,7 +927,8 @@ void node_admin_state_set(AVD_AVND *node, SaAmfAdminStateT admin_state) {
node->name.c_str(), avd_adm_state_name[node->saAmfNodeAdminState],
avd_adm_state_name[admin_state]);
node->saAmfNodeAdminState = admin_state;
- avd_saImmOiRtObjectUpdate(node->name, "saAmfNodeAdminState",
+ SaImmAttrNameT attributeName = (char *)"saAmfNodeAdminState";
+ avd_saImmOiRtObjectUpdate_sync(node->name, attributeName,
SA_IMM_ATTR_SAUINT32T,
&node->saAmfNodeAdminState);
m_AVSV_SEND_CKPT_UPDT_ASYNC_UPDT(avd_cb, node,
AVSV_CKPT_AVND_ADMIN_STATE);
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel