Ack. Thanks Praveen On 28-Mar-14 5:33 PM, [email protected] wrote: > osaf/services/saf/avsv/avd/avd_su.c | 9 +++++++++ > 1 files changed, 9 insertions(+), 0 deletions(-) > > > Problem: When Su admin operation is run on su, whose node is absent, > then amfd return TIMEOUT because node is absent and it is not able > to send message to amfnd. At the same time, Amfd increases > async_updt_cnt.node_updt and send checkpoint to standby controller. > On Standby controller, since node is absent so node id is not > in the data base, so in dec_node_snd_msg_id, avd_node_find_nodeid > return NULL and async_updt_cnt.node_updt is not increamented. > This causes mismatch of async_updt_cnt.node_updt on Act controller > and Standby controller during warm sync. > > Analysis: Amfd should return Error as it doesn't know the state of su > or node. > > Fix: Amfd is returning BAD_OP when such condition occurs. > This avoids mismatch in async_updt_cnt.node_updt between Act controller > and Standby controller. > > diff --git a/osaf/services/saf/avsv/avd/avd_su.c > b/osaf/services/saf/avsv/avd/avd_su.c > --- a/osaf/services/saf/avsv/avd/avd_su.c > +++ b/osaf/services/saf/avsv/avd/avd_su.c > @@ -1149,6 +1149,15 @@ static void su_admin_op_cb(SaImmOiHandle > goto done; > } > > + if ((su->saAmfSUOperState == SA_AMF_OPERATIONAL_DISABLED) && > + (su->su_on_node->saAmfNodeOperState == > SA_AMF_OPERATIONAL_DISABLED)) { > + /* This means that node on which this su is hosted, is > absent. */ > + LOG_NO("Admin repair request for '%s', hosting node'%s' > is absent", su_name->value, > + su->su_on_node->name.value); > + rc = SA_AIS_ERR_BAD_OPERATION; > + goto done; > + } > + > /* forward the admin op req to the node director */ > if (avd_admin_op_msg_snd(su_name, AVSV_SA_AMF_SU, op_id, > su->su_on_node) == NCSCC_RC_SUCCESS) {
------------------------------------------------------------------------------ Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees_APR _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
