- **status**: assigned --> review


---

** [tickets:#2978] mdstest: tet_svc_subscr_VDEST_11() sometimes fail with TIPC 
transport**

**Status:** review
**Milestone:** 5.18.12
**Created:** Thu Nov 29, 2018 08:22 AM UTC by Thuan
**Last Updated:** Thu Nov 29, 2018 08:22 AM UTC
**Owner:** Thuan


MDS TEST Suite 4 test 11 (tet_svc_subscr_VDEST_11) sometimes fail with TIPC 
transport

-------- Test failure log (added some debug log) ----------------

Subscribing for the services
 MDS SERVICE SUBSCRIBE is SUCCESSFULL
Changing the role of vdest to active
VDEST_CHANGE ROLE to 1 is SUCCESSFULL
Retrieving the events

The Subscriber Service id = 500 is on ADEST
UP: Subscribed Svc = 600 with svc pvt ver = 1 is UP on dest= <3e9> anchor= <0> 
role= 1 with PWE id = 1 on node = 2010f 

The Subscriber Service id = 500 is on ADEST
NO ACTIVE: Received NO ACTIVE Event
 In the system no active instance of Subscribed srv= 600 with svc pvt ver = 1 
on dest= <3e9> found 

The Subscriber Service id = 500 is on ADEST
DOWN: Subscribed Svc = 600 with svc pvt ver = 1 is DOWN on dest= <3e9> anchor= 
<0> role= 2 with PWE id = 1 on node = 0 

The Subscriber Service id = 500 is on ADEST
NEW ACTIVE: Received NEW_ACTIVE Event
 In the system atleast one active instance of Subscribed service = 600 with svc 
pvt ver = 1  on destinatin = <3e9> found 

The Subscriber Service id = 500 is on ADEST
UP: Subscribed Svc = 700 with svc pvt ver = 2 is UP on dest= <3e9> anchor= <0> 
role= 1 with PWE id = 1 on node = 2010f 

 MDS RETRIEVE is SUCCESSFULL
Verifying for the versions for UP event

 gl_tet_adest.svc[0].svc_id=500 
 subscr_count=2
 svcevt[0].svc_id=600 .event=2 .rem_svc_pvt_ver=1 

 False: req_svc_id=600, change=3, svc_pvt_ver=1 // expect UP but got NEW ACTIVE

 svcevt[1].svc_id=700 .event=3 .rem_svc_pvt_ver=2 

Fail


============================================================================
Analysis

ERR flow
--------------------
subscribe then change vdest to active
    up 600 role active // user cb UP
    up 600 role standby // user cb NO_ACTIVE
    up 700 role standby
    down 600 role standby // user cb DOWN
    up 600 role active // user cb NEW_ACTIVE
    up 700 role active // user cb UP
    down 700 role standby // Discard (ROLE MISMATCH)
    up 700 role active // Discard (Duplicate)
---------------------
600: UP -> NO_ACTIVE -> DOWN -> NEW_ACTIVE (but test expect UP)
700: UP (same test expect)

OK flow
------------------
500 subscribe 600,700
    up 600 role standby
    up 700 role standby

(add sleep 1s before) change vdest to active
    up 600 role active // user cb UP
    down 600 role standby // skip as ROLE MISMATCH
    up 600 role active // Discard (Duplicate)
    up 700 role active // user cb UP
    down 700 role standby // Discard (ROLE MISMATCH)
    up 700 role active // Discard (Duplicate)
--------------------
600: UP (same test expect)
700: UP (same test expect)

============================================================================
The problem is TIPC published event received is not as order MDS service install
service 600 got published role active before role standby even install role 
standby before role active.
The simplest and safe solution is add sleep 1s before change vdest role active.



---

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