Hi Hung,

Comments inline.

On Monday 28 December 2015 02:15 PM, Hung Nguyen wrote:
> Hi Neel,
>
> In case of the augmented ccb operation (the operation added to ccb by 
> OI1) needing validation from another OI (OI2).
> If OI2 crashes in the ccb callback, the OM will get FAILED_OPERATION 
> as expected but OI1 will get ERR_TIMEOUT from OmCcbObject operation api.
>
Yes, even though OI1 gets timeout, the OM gets FAILED_OPERATION and 
eventually CCB is aborted.
After the OI1 timeout, the reply sent from the OI1 is dropped saying as 
" ccb id  missing or terminated".

> So I think if mAugCcbParent is not NULL, we should reply to both 
> 'ccb->mOriginatingConn' and 'ccb->mAugCcbParent->mOriginatingConn'.
>
The OM timeout is longer than OI timeout, because of this the parent(OM) 
should receive the response.
If the reply is not sent then the OI1 - ccb operation will be timeout it 
may not effect the CCBs any way because the non-critcal CCB is aborted 
because of implementer disconnection.

The only case the additional changes are required to send the reply to 
both OM and OI1.
This case may be ignored as the CCB is eventually aborted and the reply 
is dropped as the CCB is aborted.

/Neel.
>
> BR,
>
> Hung Nguyen - DEK Technologies
>
>
> --------------------------------------------------------------------------------
>  
>
> From: Neelakanta Reddy reddy.neelaka...@oracle.com
> Sent: Thursday, December 24, 2015 9:34PM
> To: Zoran Milinkovic, Hung Nguyen
>     zoran.milinko...@ericsson.com, hung.d.ngu...@dektech.com.au
> Cc: Opensaf-devel
>     opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] imm : Aborted reply for augumentated Ccb 
> should be sent to OM [#1503]
>
>
>  osaf/services/saf/immsv/immnd/ImmModel.cc |  13 +++++++++++--
>  1 files changed, 11 insertions(+), 2 deletions(-)
>
>
> When the augumented Ccb is aborted then reply should be sent to the 
> parent(OM) and not to the augmented client
>
> diff --git a/osaf/services/saf/immsv/immnd/ImmModel.cc 
> b/osaf/services/saf/immsv/immnd/ImmModel.cc
> --- a/osaf/services/saf/immsv/immnd/ImmModel.cc
> +++ b/osaf/services/saf/immsv/immnd/ImmModel.cc
> @@ -5926,8 +5926,17 @@ ImmModel::ccbAbort(SaUint32T ccbId, Conn
>          }
>      }
>
> -    *nodeId = ccb->mOriginatingNode;
> -    *client = ccb->mOriginatingConn;
> +    if(ccb->mAugCcbParent){
> +    /* When the augumented Ccb is aborted then reply should be
> +           sent to the parent(OM) and not to the augmented client
> +        */
> +
> +        *nodeId = ccb->mAugCcbParent->mOriginatingNode;
> +        *client = ccb->mAugCcbParent->mOriginatingConn;
> +    } else {
> +        *nodeId = ccb->mOriginatingNode;
> +        *client = ccb->mOriginatingConn;
> +    }
>
>      ccb->mState = IMM_CCB_ABORTED;
>      if(ccb->mVeto == SA_AIS_OK) {
>
>


------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to