Hi Gary,

I am also in sync with Anders, based on my previous understanding of IMM implementation (when I was IMM maintainer ) we have a concept called multiple applier, so multiple IMMA can register for a class , so it will easy for AMFND to get notification by registering as applier. In general, it is application (AMFND) responsibility to make sure that object existence before doing Admin operation as if you are triggering a requests two different amfnd node.

For now you can take help from Zoran/Hung, they can provide you quick solution , in future (once I sync up with latest IMM code) you can expect solution form me as well :)

-AVM

On 6/22/2017 12:18 PM, and...@acm.org wrote:
Hi,

The imm "can guarantee" that a CCB than has been ack'ed as commited to the OM 
ccb-client (or an OI-applier), has been committed in fevs order  over all nodes.
In particular it means that it has been commited at the node where the reply 
was provided.
If you send messages between nodes based on that commit, then to ensure that a 
receiver at a remote node receives that mesage in fevs
order, then you need to use a fevs ordered messaging service, e.g. 
admin-operation.
Note an admin-operaton request goes over fevs, but the reply does not.
This means that the receiver of the request will receive the request in fevs 
order.
But the receiver of the reply is only guaranteed  that a reply is returned 
after the request has ben procesd in fevs order.

/AndersBj


----Ursprungligt meddelande----
Från : gary....@dektech.com.au
Datum : 2017-06-22 - 07:24 (WEST)
Till : mahesh.va...@oracle.com
Kopia : minh.c...@dektech.com.au, opensaf-devel@lists.sourceforge.net
Ämne : Re: [devel] [PATCH 1/1] amfnd: retry on ERR_NOT_EXIST [#2490]

Hi Mahesh

I don’t know of another way to fixing this issue other than what is already 
proposed in this ticket, unless IMM can guarantee that a commit has been 
applied to all nodes.

As discussed, the object create and admin op are done on the same node. But 
that may trigger a request to amfnd on another node, where that object may not 
yet exist.

Thanks
Gary

-----Original Message-----
From: A V Mahesh <mahesh.va...@oracle.com>
Organization: Oracle Corporation
Date: Thursday, 22 June 2017 at 12:32 pm
To: gary <gary....@dektech.com.au>
Cc: praveen malviya <praveen.malv...@oracle.com>, <hans.nordeb...@ericsson.com>, Nagendra Kumar 
<nagendr...@oracle.com>, minh chau <minh.c...@dektech.com.au>, 
<opensaf-devel@lists.sourceforge.net>
Subject: Re: [devel] [PATCH 1/1] amfnd: retry on ERR_NOT_EXIST [#2490]

    Hi Gary,
On 6/21/2017 2:32 PM, Gary Lee wrote:
    > Hi
    >
    > I should have written that amfd acts on the admin op by sending a msg to 
a remote amfnd.
    Sorry ,I didn't get that  either you asked me question or  you informed
    me alternatively how you are planning to fix,
    if you asked me a question  can you please elaborate.
-AVM >
    > Gary
    >
    >> On 21 Jun 2017, at 6:55 pm, A V Mahesh <mahesh.va...@oracle.com> wrote:
    >>
    >> Hi Gary,
    >>
    >>> On 6/21/2017 12:47 PM, Gary Lee wrote:
    >>> Hi Mahesh
    >>>
    >>> The IMM objects and admin op are issued on the same node.
    >>> AMFD will ‘forward’ the admin op to AMFND on *another* node, where 
sometimes the object is not yet available.
    >> This explains ,  their is a possibility AMFND on *another* node can 
initiated admin op earlier than the IMM object sync
    >> why because AMF messages are having higher priority (MDS).
    >>
    >> Can you please explore option of both object create & admin operation 
can occur on same AMFND node ( not ‘forwarding’ )
    >>
    >> -AVM
    >>> Thanks
    >>> Gary
    >>>
    >>> On 21/6/17, 5:14 pm, "A V Mahesh" <mahesh.va...@oracle.com> wrote:
    >>>
    >>>      Hi Pravee/Gary,
    >>>                On 6/21/2017 12:13 PM, praveen malviya wrote:
    >>>      > Hi Gary,
    >>>      >
    >>>      > Is there any ticket in IMM for any related issue?
    >>>      > Both creation of SU and admin operation on it will go through 
IMM only.
    >>>      > I do not know how IMM handles it and how IMM spec talks about it.
    >>>           [AVM] Even we have problem of newly created IMM object is 
taking some
    >>>      time to be available on other nodes
    >>>                   it will be a implementation problem and it is not 
related
    >>>      to IMM specification .
    >>>           > Does IMM spec allow admin operation on a entity for which 
all synced
    >>>      > IMMNDS (leaving non synced IMMNDS on the nodes joining the 
cluster)
    >>>      > are not updated?
    >>>           [AVM] Again, this is also not related to  IMM specification , 
 if we
    >>>      resolve above this  issue will not rise .
    >>>           Gary, Is this issue you are facing in case where you are 
creating object
    >>>      on one node and   admin operation performed on different node ?
    >>>      or on same same node ?
    >>>           -AVM
    >>>           On 6/21/2017 12:30 PM, Gary Lee wrote:
    >>>      > Hi Praveen
    >>>      >
    >>>      >  From talking with Zoran/Hung, the IMM behaviour is expected and 
correct.
    >>>      > I’m not sure about the last question.
    >>>      >
    >>>      > As you know, in AMFND, the trigger to read from IMM is from an 
AMFD message.
    >>>      > The CCB could be committed on the node where active AMFD 
resides, so I guess the admin op would be accepted regardless of the answer to your 
question.
    >>>      >
    >>>      > Gary
    >>>      >
    >>>      > On 21/6/17, 4:43 pm, "praveen malviya" 
<praveen.malv...@oracle.com> wrote:
    >>>      >
    >>>      >      Hi Gary,
    >>>      >
    >>>      >      Is there any ticket in IMM for any related issue?
    >>>      >      Both creation of SU and admin operation on it will go 
through IMM only.
    >>>      >      I do not know how IMM handles it and how IMM spec talks 
about it.
    >>>      >      Does IMM spec allow admin operation on a entity for which 
all synced
    >>>      >      IMMNDS (leaving non synced IMMNDS on the nodes joining the 
cluster) are
    >>>      >      not updated?
    >>>      >
    >>>      >      Thanks,
    >>>      >      Praveen
    >>>      >
    >>>      >      On 15-Jun-17 1:11 PM, Gary Lee wrote:
    >>>      >      > On a congested network, sometimes a newly created IMM 
object can take some
    >>>      >      > time to be available on other nodes.
    >>>      >      >
    >>>      >      > In our test, a new SU is created on SC-1 and unlocked. 
But sometimes
    >>>      >      > it fails on a remote node due to:
    >>>      >      >
    >>>      >      > 2017-05-19 13:55:19 SC-2 osafamfnd[258]: ER 
amf_saImmOmSearchInitialize_o2 failed: 12
    >>>      >      >
    >>>      >      > To get around this, we will retry on SA_AIS_ERR_NOT_EXIST 
a few times.
    >>>      >      > ---
    >>>      >      >   src/amf/amfnd/util.cc | 15 +++++++++++++++
    >>>      >      >   1 file changed, 15 insertions(+)
    >>>      >      >
    >>>      >      > diff --git a/src/amf/amfnd/util.cc b/src/amf/amfnd/util.cc
    >>>      >      > index ed0905ce2..bca642eac 100644
    >>>      >      > --- a/src/amf/amfnd/util.cc
    >>>      >      > +++ b/src/amf/amfnd/util.cc
    >>>      >      > @@ -38,6 +38,9 @@
    >>>      >      >   #include <unistd.h>
    >>>      >      >   #include "osaf/configmake.h"
    >>>      >      >   #include "amf/amfnd/avnd.h"
    >>>      >      > +#include "base/osaf_time.h"
    >>>      >      > +
    >>>      >      > +extern struct ImmutilWrapperProfile 
immutilWrapperProfile;
    >>>      >      >
    >>>      >      >   const char *presence_state[] = {
    >>>      >      >       "OUT_OF_RANGE",         "UNINSTANTIATED",     
"INSTANTIATING",
    >>>      >      > @@ -335,6 +338,18 @@ SaAisErrorT 
amf_saImmOmSearchInitialize_o2(
    >>>      >      >                                                 scope, 
searchOptions, searchParam,
    >>>      >      >                                                 
attributeNames, &searchHandle);
    >>>      >      >       }
    >>>      >      > +  } else if (rc == SA_AIS_ERR_NOT_EXIST) {
    >>>      >      > +    // it is possible for 'rootName' to be not yet 
available
    >>>      >      > +    // at the local immnd. Retry a few times to allow 
CCB to be propagated.
    >>>      >      > +    unsigned int nTries = 1;
    >>>      >      > +    while (rc == SA_AIS_ERR_NOT_EXIST &&
    >>>      >      > +      nTries < immutilWrapperProfile.nTries) {
    >>>      >      > +      osaf_nanosleep(&kHundredMilliseconds);
    >>>      >      > +      rc = immutil_saImmOmSearchInitialize_o2(immHandle, 
rootName.c_str(),
    >>>      >      > +        scope, searchOptions, searchParam,
    >>>      >      > +        attributeNames, &searchHandle);
    >>>      >      > +      nTries++;
    >>>      >      > +    }
    >>>      >      >     }
    >>>      >      >     return rc;
    >>>      >      >   }
    >>>      >      >
    >>>      >
    >>>      >
    >>>      >
    >>>      >
    >>>      > 
------------------------------------------------------------------------------
    >>>      > Check out the vibrant tech community on one of the world's most
    >>>      > engaging tech sites, Slashdot.org! 
https://urldefense.proofpoint.com/v2/url?u=http-3A__sdm.link_slashdot&d=DwIGaQ&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=Ua8D9LRbRt6_3fFyQghU61tppZpWmDKj9QGctDqRYQQ&m=3lVa-ymN89sIVfvS57TSd0edM74_gBo3GkkdaSxuTCA&s=WL9nnf9tO-B21XeTvgltME0cARW6eq0IpDLuJQocH_k&e=
    >>>      > _______________________________________________
    >>>      > Opensaf-devel mailing list
    >>>      > Opensaf-devel@lists.sourceforge.net
    >>>      > 
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.sourceforge.net_lists_listinfo_opensaf-2Ddevel&d=DwIGaQ&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=Ua8D9LRbRt6_3fFyQghU61tppZpWmDKj9QGctDqRYQQ&m=3lVa-ymN89sIVfvS57TSd0edM74_gBo3GkkdaSxuTCA&s=5AyrQ2cwgH0HW6VfyB4nxYnHjDz-L_xk5n3HjZmw350&e=
    >>>
    >>>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! 
https://urldefense.proofpoint.com/v2/url?u=http-3A__sdm.link_slashdot&d=DwIFaQ&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=Ua8D9LRbRt6_3fFyQghU61tppZpWmDKj9QGctDqRYQQ&m=cH3SiGpv68sRD_aUN_72YOkq1pGTpnhFAu7MR6YykPk&s=iauIH1J2V2la7WFYkj7B-Uy2a-VI8wEPtnMjxtg-hYI&e=
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.sourceforge.net_lists_listinfo_opensaf-2Ddevel&d=DwIFaQ&c=RoP1YumCXCgaWHvlZYR8PQcxBKCX5YTpkKY057SbK10&r=Ua8D9LRbRt6_3fFyQghU61tppZpWmDKj9QGctDqRYQQ&m=cH3SiGpv68sRD_aUN_72YOkq1pGTpnhFAu7MR6YykPk&s=DZ_Qgzmg4iAfECXSjqISBMDnnl4junMlXKEPECgKYM4&e=



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to