Hi Praveen Please see comments inline
Thanks, Minh On 11/04/16 16:13, praveen malviya wrote: > > On 07-Apr-16 7:17 PM, Minh Hon Chau wrote: >> osaf/services/saf/amf/amfnd/su.cc | 5 ----- >> 1 files changed, 0 insertions(+), 5 deletions(-) >> >> >> Currently avnd_su_curr_info_del() is called in three places: >> >> (1). su restart recovery >> >> (2). su restart by admin op >> >> (3). su is terminated by su_pres_msg >> >> In case (1), (2), the code that reset SU's oper_state as DISABLED won't >> be called. > > In the surestart recovery, AMFND disables SU in > avnd_err_rcvr_su_restart(). This has been there historically. Here it > is not conveyed to AMFD for surestart recovery. [Minh] So yes in avnd_err_rcvr_su_restart() amfnd has disabled SU, but before amfnd reports su_restart recovery, amfnd sets back to ENABLED void su_send_suRestart_recovery_msg(AVND_SU *su) { su->oper = SA_AMF_OPERATIONAL_ENABLED; //Keep the su enabled for sending the message. avnd_di_oper_send(avnd_cb, su, AVSV_ERR_RCVR_SU_RESTART); su->oper = SA_AMF_OPERATIONAL_DISABLED; } Regarding the patch, its change is inside avnd_su_curr_info_del. In case of su restart recovery, the code removed in this patch will not be reached since su is marked as FAILED in avnd_err_rcvr_su_restart() In case of admin su restart, this code will not be reached as well. The other case is terminate SU, but SU can't be DISABLED while it's not FAILED? > > Thanks, > Praveen > Only in (3), which lock-in SU (or node/ng) which SU is not >> failed, that reset SU's oper_state as DISABLED. This will set local >> variable @su->oper as DISABLED while SU OperationalState in amfd and >> imm as ENABLED. This reset is not needed since if SU is healthy, its >> oper state should be ENABLED. And this reset will cause SU won't be able >> to recover after headless if there was a lock-in SU (node/ng) done >> before >> headless. >> >> Patch removes this reset of SU as DISABLED. >> >> diff --git a/osaf/services/saf/amf/amfnd/su.cc >> b/osaf/services/saf/amf/amfnd/su.cc >> --- a/osaf/services/saf/amf/amfnd/su.cc >> +++ b/osaf/services/saf/amf/amfnd/su.cc >> @@ -572,11 +572,6 @@ uint32_t avnd_su_curr_info_del(AVND_CB * >> su->su_restart_cnt = 0; >> avnd_di_uns32_upd_send(AVSV_SA_AMF_SU, >> saAmfSURestartCount_ID, &su->name, su->su_restart_cnt); >> /* stop su_err_esc_tmr TBD Later */ >> - >> - /* disable the oper state (if pi su) */ >> - if (m_AVND_SU_IS_PREINSTANTIABLE(su) && (su->admin_op_Id != >> SA_AMF_ADMIN_RESTART)) { >> - m_AVND_SU_OPER_STATE_SET(su, SA_AMF_OPERATIONAL_DISABLED); >> - } >> } >> >> /* scan & delete the current info store in each component */ >> > ------------------------------------------------------------------------------ Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel