One self comment, I have closely examined avd_su_si_assign_evh() during 
testing, it responds only for lock, unlock and shutdown operation for SU 
when SG becomes stable because such operations make SG unstable. So it 
must include a condition on these admin operations. In case UNLOCK_IN 
operation is going on SU and SG becomes stable, without the check 
UNLOCK_IN will prematurely end.
I will send a version2.

Thanks,
Praveen


On 12-Apr-16 10:48 AM, [email protected] wrote:
>   osaf/services/saf/amf/amfd/sgproc.cc |  3 +--
>   1 files changed, 1 insertions(+), 2 deletions(-)
>
>
> If unlock admin operation on SU1 is timed just after cluster timer expiry,
> AMFD will start assignment for SU1. During this phase, some other SUs in same 
> SG may be
> in INSTANTIATING state. These SUs may move to INSTANTIATION state before the 
> assignment
> due to unlock operation is over in SU1 and becomes eligible for assignments. 
> Now when
> AMFD gets assignment response from AMFND, it will start assignment for other 
> SUs in
> SG_FSM. Although assignment in SU1 is over, SG remains in UNSTABLE state as 
> assignmnets
> in other SUs started. Because of this AMFD loses the context of admin 
> operation and
> when SG becomes stable it never responds to IMM for the completed operation.
>
> Patch fixes the problem by checking each SU for any pending admin operation 
> when
> SG becomes stable.
>
> diff --git a/osaf/services/saf/amf/amfd/sgproc.cc 
> b/osaf/services/saf/amf/amfd/sgproc.cc
> --- a/osaf/services/saf/amf/amfd/sgproc.cc
> +++ b/osaf/services/saf/amf/amfd/sgproc.cc
> @@ -1520,8 +1520,7 @@ void avd_su_si_assign_evh(AVD_CL_CB *cb,
>                       process_su_si_response_for_comp(su);
>               } else {
>                       if (n2d_msg->msg_info.n2d_su_si_assign.error == 
> NCSCC_RC_SUCCESS) {
> -                             if ((su->sg_of_su->sg_redundancy_model == 
> SA_AMF_N_WAY_REDUNDANCY_MODEL) &&
> -                                             (su->sg_of_su->sg_fsm_state == 
> AVD_SG_FSM_STABLE)) {
> +                             if (su->sg_of_su->sg_fsm_state == 
> AVD_SG_FSM_STABLE) {
>                                       for (const auto& temp_su : 
> su->sg_of_su->list_of_su) {
>                                               
> temp_su->complete_admin_op(SA_AIS_OK);
>                                       }
>
> ------------------------------------------------------------------------------
> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/opensaf-devel
>

------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to