changeset:   8119:3d0f2a5d4966
tag:         tip
parent:      8116:be0f5c394a01
user:        praveen.malv...@oracle.com
date:        Wed Sep 21 16:09:49 2016 +0530
summary:     amfd: do not flush imm jobs on active controller[#2016]

Will be pushing in other branches after 5,1 GA announcement.


---

** [tickets:#2016] amf: active amfd may flush imm jobs when IMM returns 
BAD_HANDLE.**

**Status:** review
**Milestone:** 5.0.2
**Created:** Fri Sep 09, 2016 10:19 AM UTC by Praveen
**Last Updated:** Tue Sep 20, 2016 05:54 PM UTC
**Owner:** Praveen
**Attachments:**

- 
[comp_fail.xml](https://sourceforge.net/p/opensaf/tickets/2016/attachment/comp_fail.xml)
 (11.0 kB; text/xml)
- 
[is_imp.tgz](https://sourceforge.net/p/opensaf/tickets/2016/attachment/is_imp.tgz)
 (14.0 kB; application/x-compressed)


AMF pushes IMM updates in a queue to be updated in after finishing main job.
Currently, standby amfd as a applier flushes job queue if it no. of elements 
reaches to 200.
Since the check is on implementer status, active controller may flush it when 
it loses implementer status and goes for reinit with IMM(one case is when IMM 
returns BAD_HANDLE, a rare case):
if (!avd_cb->is_implementer) {
                check_and_flush_job_queue_standby_amfd();
                return JOB_EINVH;
        }

In the attached tar, there is a patch which forces amfd to finalize with IMM. 
After finalizing, when it goes to update attributes in IMM, it gets BAD_HANDLE 
and it reinitializes with IMM by setting its implemeter status flag as false 
temporarily.
steps to reproduce with the patch:
1)Bring one controller up.
2)Bring up the attached model.
3)kill the only comonent. AMF will finzlize with IMM and it will flush job 
queue.
    Because of this amf-state su will show su in terminating state:
    safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1
        saAmfSUAdminState=UNLOCKED(1)
        saAmfSUOperState=ENABLED(1)
        saAmfSUPresenceState=TERMINATING(4)
        saAmfSUReadinessState=OUT-OF-SERVICE(1)
But it is actually moved in UNINSTANTIATED state. This can be verified by 
dumping amf state:
 dn: safSu=SU1,safSg=AmfDemo,safApp=AmfDemo1
    saAmfSUPreInstantiable: 1
    saAmfSUOperState: DISABLED
    saAmfSUAdminState: LOCKED_INSTANTIATION
    saAmfSuReadinessState: OUT_OF_SERVICE
    saAmfSUPresenceState: UNINSTANTIATED
    saAmfSUHostedByNode: safAmfNode=SC-1,safAmfCluster=myAmfCluster

All state machines inside AMF are correct. But a use may not be able to see 
correct state of AMF entities.
    





---

Sent from sourceforge.net because opensaf-tickets@lists.sourceforge.net 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.
------------------------------------------------------------------------------
_______________________________________________
Opensaf-tickets mailing list
Opensaf-tickets@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to