Analysis:
saAmfFinalize() when invoked AMFND disables SU and unregisters the component 
since same handle was used for its registration. AMFD removes assignment from 
new active every time in which finalize has been done. But as a part of 
unregistration, AMFND is not marking the SU as failed. Due to this repair of 
SUs was not performed and they remained in DISABLED INSTANTIATED state.
But still it cannot be considered as a problem because in AMF B0401 spec 
saAmfComponentUnregister() has been removed. As a part of saAmfFinalize() 
components will be unregistered. But at the same time B0401 says(section 7.1.1 
page 231):

"The Availability Management Framework also unregisters all components that are
still registered with a particular handle when that handle is finalized 
explicitly by
invoking the saAmfFinalize() function or implicitly when the process that 
initialized
the handle exits. However, if an SA-aware component finalizes a handle that 
still
has some registered components associated to it, the Availability Management
Framework treats this finalization as an error of the SA-aware component. An 
SAaware
component should only finalize a handle when the previously associated 
registered
components have automatically been unregistered by the Availability Management
Framework, as indicated above."

I think components in this issue have been modeled with only one process which 
itself is finalizing the handle. So AMF cannot consider it to be a fault on 
component and thus AMF is behaving correctly. But in such a case what should be 
the behavior of AMF from recovery perspective or no recovery is required as 
component itself decided to finalize.



---

** [tickets:#495] No recovery is taken when component calls saAmfFinalize() api 
when receives active cbk**

**Status:** unassigned
**Created:** Tue Jul 09, 2013 12:35 PM UTC by surender khetavath
**Last Updated:** Tue Jul 09, 2013 12:35 PM UTC
**Owner:** nobody

Changeset : 4325
Model : TWON
Configuration: 1SG,5SUs having 3comps each, 5SIs with 3Csis each.
Intially: 5Node cluster, SU1 mapped to SC-1,SU2 to SC-2,SU3-PL3,SU4&SU5 to PL-4
SU3 was active and SU4 standby
si-si deps configured as SI1<-SI2<-SI3<-SI4
Recovery on Error = COMP_RESTART

Testcase:
Lock of active SU3. The component which receives the active cbk will do 
saAmfFinalize() api call. Like wise SU4 followed by SU1 then SU5 all got active 
cbk and called saAmfFinalize. No recovery triggered in any case. 
SU3 later got active assignments, but no other SU got standby assignment. 
Moreover SU2 which is a UNINSTANTIATED spare SU, didnot get instantiated, which 
is fair as PrefInserviceSUs=4.

SU states:
safSu=SU2,safSg=SGONE,safApp=TWONAPP
        saAmfSUAdminState=UNLOCKED(1)
        saAmfSUOperState=ENABLED(1)
        saAmfSUPresenceState=UNINSTANTIATED(1)
        saAmfSUReadinessState=OUT-OF-SERVICE(1)
safSu=SU4,safSg=SGONE,safApp=TWONAPP
        saAmfSUAdminState=UNLOCKED(1)
        saAmfSUOperState=DISABLED(2)
        saAmfSUPresenceState=INSTANTIATED(3)
        saAmfSUReadinessState=OUT-OF-SERVICE(1)
safSu=SU5,safSg=SGONE,safApp=TWONAPP
        saAmfSUAdminState=UNLOCKED(1)
        saAmfSUOperState=DISABLED(2)
        saAmfSUPresenceState=INSTANTIATED(3)
        saAmfSUReadinessState=OUT-OF-SERVICE(1)
safSu=SU1,safSg=SGONE,safApp=TWONAPP
        saAmfSUAdminState=UNLOCKED(1)
        saAmfSUOperState=DISABLED(2)
        saAmfSUPresenceState=INSTANTIATED(3)
        saAmfSUReadinessState=OUT-OF-SERVICE(1)
safSu=SU3,safSg=SGONE,safApp=TWONAPP
        saAmfSUAdminState=UNLOCKED(1)
        saAmfSUOperState=ENABLED(1)
        saAmfSUPresenceState=INSTANTIATED(3)
        saAmfSUReadinessState=IN-SERVICE(2)


syslog on PL-3:
This is the time of test case start

Jul  9 17:20:57 PL-3 osafamfnd[3811]: NO Assigning 
'safSi=TWONSI4,safApp=TWONAPP' QUIESCED to 
'safSu=SU3,safSg=SGONE,safApp=TWONAPP'
Jul  9 17:20:57 PL-3 osafamfnd[3811]: NO Assigning 
'safSi=TWONSI5,safApp=TWONAPP' QUIESCED to 
'safSu=SU3,safSg=SGONE,safApp=TWONAPP'
Jul  9 17:20:57 PL-3 osafamfnd[3811]: NO Assigned 
'safSi=TWONSI4,safApp=TWONAPP' QUIESCED to 
'safSu=SU3,safSg=SGONE,safApp=TWONAPP'
Jul  9 17:20:57 PL-3 osafamfnd[3811]: NO Assigned 
'safSi=TWONSI5,safApp=TWONAPP' QUIESCED to 
'safSu=SU3,safSg=SGONE,safApp=TWONAPP'
Jul  9 17:20:57 PL-3 osafamfnd[3811]: NO Assigning 
'safSi=TWONSI3,safApp=TWONAPP' QUIESCED to 
'safSu=SU3,safSg=SGONE,safApp=TWONAPP'
Jul  9 17:20:57 PL-3 osafamfnd[3811]: NO Assigned 
'safSi=TWONSI3,safApp=TWONAPP' QUIESCED to 
'safSu=SU3,safSg=SGONE,safApp=TWONAPP'


SI states:
safSi=TWONSI4,safApp=TWONAPP
        saAmfSIAdminState=UNLOCKED(1)
        saAmfSIAssignmentState=PARTIALLY_ASSIGNED(3)
safSi=TWONSI1,safApp=TWONAPP
        saAmfSIAdminState=UNLOCKED(1)
        saAmfSIAssignmentState=PARTIALLY_ASSIGNED(3)
safSi=TWONSI3,safApp=TWONAPP
        saAmfSIAdminState=UNLOCKED(1)
        saAmfSIAssignmentState=PARTIALLY_ASSIGNED(3)
safSi=TWONSI5,safApp=TWONAPP
        saAmfSIAdminState=UNLOCKED(1)
        saAmfSIAssignmentState=PARTIALLY_ASSIGNED(3)
safSi=TWONSI2,safApp=TWONAPP
        saAmfSIAdminState=UNLOCKED(1)
        saAmfSIAssignmentState=PARTIALLY_ASSIGNED(3)



---

Sent from sourceforge.net because [email protected] is 
subscribed to https://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to