I suspect that we could be experiencing some slightly different TIPC
characteristics that are causing these effects. TIPC uses two sockets: one for
data and one for subscription events. There is an obvious race condition that
can happen because of this: we may receive data from a peer that we have not
yet seen any name event from. MDS may become confused if we try to reply to the
received data message before the name event has arrived. If MDS drops the reply
message in this situation, we may experience problems since OpenSAF in general
does not handle message loss very well.
---
** [tickets:#1606] mbc: No error handling when sending peer-discovery messages**
**Status:** unassigned
**Milestone:** 4.6.2
**Created:** Fri Nov 20, 2015 07:14 AM UTC by Hung Nguyen
**Last Updated:** Tue Nov 24, 2015 06:17 AM UTC
**Owner:** nobody
**Attachments:**
-
[mbcsv.7z](https://sourceforge.net/p/opensaf/tickets/1606/attachment/mbcsv.7z)
(3.1 MB; application/octet-stream)
When a standby peer is up, it will:
1. send PEER_UP_MSG to active peer
2. receive PEER_INFO_MSG from active peer
3. send PEER_INFO_RSP_MSG to active peer
But if the active peer fails to send PEER_INFO_MSG, the standby peer will also
never send PEER_INFO_RSP_MSG to the active peer.
<pre>--- trace on active peer ---
osafimmd [4477:mbcsv_peer.c:0897] >> mbcsv_send_peer_disc_msg
osafimmd [4477:mbcsv_peer.c:0908] TR peer info msg
osafimmd [4477:mbcsv_mds.c:0185] >> mbcsv_mds_send_msg: sending to vdest:d
osafimmd [4477:mbcsv_mds.c:0201] TR send type MDS_SENDTYPE_RED
osafimmd [4477:mbcsv_mds.c:0247] << mbcsv_mds_send_msg: failure
osafimmd [4477:mbcsv_peer.c:0942] << mbcsv_send_peer_disc_msg
</pre>
That resulted in the active peer kept the standby peer in
'NCS_MBCSV_ACT_STATE_IDLE' state.
The state would have been changed to
'NCS_MBCSV_ACT_STATE_WAIT_FOR_COLD_WARM_SYNC' if the standby had been able to
send the PEER_INFO_RSP_MSG to the active peer.
And that made the active peer failed to dispatch on
NCSMBCSV_EVENT_COLD_SYNC_REQ.
<pre>--- trace on standby peer ---
osafimmd [4645:mbcsv_act.c:0293] TR sending cold sync req. myrole: 2, svc_id:
42, pwe_hdl: 65549
...
osafimmd [4645:mbcsv_tmr.c:0250] TR Timer expired. my role:2, svc_id:42,
pwe_hdl:65549, peer_anchor:565213722578604, tmr
type:NCS_MBCSV_TMR_SEND_COLD_SYNC
</pre>
<pre>--- trace on active peer ---
osafimmd [4477:mbcsv_pr_evts.c:0068] >> mbcsv_process_events: mbcsv hdl:
4293918753
osafimmd [4477:mbcsv_pr_evts.c:0160] TR Internal event
osafimmd [4477:mbcsv_act.c:0079] TR Illegal dispatch event. role:1, svc_id: 42,
pwe_hdl:65549
osafimmd [4477:mbcsv_pr_evts.c:0222] << mbcsv_process_events
</pre>
MBC should somehow retry mbcsv_mds_send_msg when it fails.
---
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.
------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets