Ack.

Thanks
-Nagu

> -----Original Message-----
> From: Minh Hon Chau [mailto:minh.c...@dektech.com.au]
> Sent: 15 May 2014 18:58
> To: Nagendra Kumar; hans.nordeb...@ericsson.com;
> hans.fe...@ericsson.com; Praveen Malviya
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] v4 amfnd: Not all npi-components are restarted during
> SuRestart escalation [#885]
> 
>  osaf/services/saf/amf/amfnd/susm.cc |  16 +++++++++++++---
>  1 files changed, 13 insertions(+), 3 deletions(-)
> 
> 
> In case of npi su restart recovery, this problem appears because the condition
> of changing su presence state to INSTANTIATED is not sufficient.
> 
> If the component of the last csi in csi_list has been restarted first due
> to componentRestart (before suRestart), amfnd can not find any next csi
> and changes the su presence state to INSTANTIATED, this will miss the
> restart for the rest of components.
> 
> The fix uses UNASSIGNED csi to avoid duplication of restarting the same
> component
> many times during su restart, only component linked to UNASSIGNED csi is
> restarted.
> Therefore, the condition of changing su presence state to INSTANTIATED should
> be
> all csis are ASSIGNED
> 
> diff --git a/osaf/services/saf/amf/amfnd/susm.cc
> b/osaf/services/saf/amf/amfnd/susm.cc
> --- a/osaf/services/saf/amf/amfnd/susm.cc
> +++ b/osaf/services/saf/amf/amfnd/susm.cc
> @@ -2638,12 +2638,22 @@ uint32_t avnd_su_pres_restart_compinst_h
> 
>               /* get the next csi */
>               curr_csi = (AVND_COMP_CSI_REC
> *)m_NCS_DBLIST_FIND_NEXT(&curr_csi->si_dll_node);
> -             if (curr_csi) {
> +             /* To be taken into restart, the next found csi must be
> UNASSIGNED (avoid
> +              * duplication of restarting component). The component linked
> to csi must
> +              * not be in RESTARTING (avoid the component just coming in
> component restart
> +              * recovery), and not be in INSTANTIATING (avoid the
> component in progress
> +              * of instantiation). But for now the check for INSTANTIATING is
> not included
> +              * because avnd_su_pres_insting_surestart_hdler has not been
> implemented.
> +              */
> +             if (curr_csi != NULL &&
> +
>       m_AVND_COMP_CSI_CURR_ASSIGN_STATE_IS_UNASSIGNED(curr_csi
> ) == true &&
> +                     curr_csi->comp->pres !=
> SA_AMF_PRESENCE_RESTARTING) {
>                       /* we have another csi. trigger the comp fsm with
> RestartEv */
> -                     rc = avnd_comp_clc_fsm_trigger(cb, curr_csi->comp,
> AVND_COMP_CLC_PRES_FSM_EV_RESTART);
> +                     rc = avnd_comp_clc_fsm_trigger(cb, curr_csi->comp,
> +
> AVND_COMP_CLC_PRES_FSM_EV_RESTART);
>                       if (NCSCC_RC_SUCCESS != rc)
>                               goto done;
> -             } else {
> +             } else if (all_csis_in_assigned_state(su)) {
>                       /* => si assignment done */
>                       avnd_su_pres_state_set(su,
> SA_AMF_PRESENCE_INSTANTIATED);
>               }

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to