- Attachments has changed:

Diff:

~~~~

--- old
+++ new
@@ -1 +0,0 @@
-logs.7z (17.0 MB; application/octet-stream)

~~~~




---

** [tickets:#1977] imm: AdmReqContinuation is not removed when failing to 
forward fevs**

**Status:** fixed
**Milestone:** 4.7.2
**Created:** Mon Aug 29, 2016 07:31 AM UTC by Hung Nguyen
**Last Updated:** Wed Aug 31, 2016 09:15 AM UTC
**Owner:** Hung Nguyen


The AdmReqContinuation is created as a special handling before forwarding the 
A2ND_IMM_ADMOP fevs message.
~~~
if(evt->info.fevsReq.sender_count > 0x1) {
    /* sender_count greater than 1 if this is an admop message.
       This is to generate a request continuation at the client
       node BEFORE sending the request over fevs. Otherwise there
       is a risk that the reply may arrive back at the request node,
       before the request arrives over fevs. This can happen because
       the reply is not sent over the fevs "bottleneck". 
    */
    SaUint32T conn = m_IMMSV_UNPACK_HANDLE_HIGH(client_hdl);
    SaInvocationT saInv = (SaInvocationT) evt->info.fevsReq.sender_count;

    immModel_setAdmReqContinuation(cb, saInv, conn);
}
~~~
If it fails to forward the message, the continuation will remain 
~~~
14:28:05.682050 osafimmnd [6633:immsv_evt.c:5473] T8 Received: 
IMMND_EVT_A2ND_IMM_FEVS (14) from 2020f
14:28:05.682067 osafimmnd [6633:immnd_evt.c:2924] T2 sender_count: 51539607554 
size: 102 
14:28:05.682077 osafimmnd [6633:immnd_evt.c:3205] >> immnd_fevs_local_checks 
14:28:05.682088 osafimmnd [6633:immnd_evt.c:3689] << immnd_fevs_local_checks 
14:28:05.682095 osafimmnd [6633:ImmModel.cc:12492] >> setAdmReqContinuation 
14:28:05.682101 osafimmnd [6633:ImmModel.cc:12493] T5 setAdmReqContinuation 
<51539607554, 1376>
14:28:05.682110 osafimmnd [6633:ImmModel.cc:12495] << setAdmReqContinuation 
14:28:05.682115 osafimmnd [6633:immnd_evt.c:3096] T2 ERR_TRY_AGAIN: Too many 
pending FEVS message replies (> 16) rejecting request
14:28:05.682121 osafimmnd [6633:immnd_evt.c:3170] T2 SENDRSP FAIL 6 
~~~

and a timeout will occur after 2\*DEFAULT_TIMEOUT_SEC=12 seconds.

~~~
14:28:17.817901 osafimmnd [6633:ImmModel.cc:13752] T5 Timeout on 
AdministrativeOp continuation 51539607554  tmout:12
14:28:17.818063 osafimmnd [6633:ImmModel.cc:12579] T5 REQ ADM CONTINUATION 1376 
FOUND FOR 51539607554
14:28:17.818115 osafimmnd [6633:immnd_proc.c:1128] WA Timeout on syncronous 
admin operation 2
~~~

When the timeout occurs, IMMND will send a ND2A_IMM_ERROR response with 
ERR_TIMEOUT to the client. That can be very dangerous if the client is invoking 
a sync IMM API. The client may get unexpected ERR_TIMEOUT in that case.

The continuation must be removed if it fails to forward the fevs.


---

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.
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to