My guess is there are multiple modify operations to set campaign to an 
identical value in a single CCB. 

AMF should be more robust and not reboot the node.

-----Original Message-----
From: gary <[email protected]>
Date: Wednesday, 15 February 2017 at 7:57 pm
To: praveen malviya <[email protected]>, <[email protected]>, 
<[email protected]>, <[email protected]>
Cc: <[email protected]>
Subject: Re: [PATCH 1 of 1] amfd: do not assert on saAmfSUMaintenanceCampaign 
modification [#2305]

    Hi Praveen
    
    It’s SMF that seems to be doing that, as it happened during an upgrade.
    Seems to be intermittent and I haven’t been able to obtain a trace.
    
    I just used immcfg to reproduce the behaviour.
    
    Thanks
    Gary
    
    -----Original Message-----
    From: praveen malviya <[email protected]>
    Organization: Oracle Corporation
    Date: Wednesday, 15 February 2017 at 7:53 pm
    To: gary <[email protected]>, <[email protected]>, 
<[email protected]>, <[email protected]>
    Cc: <[email protected]>
    Subject: Re: [PATCH 1 of 1] amfd: do not assert on 
saAmfSUMaintenanceCampaign modification [#2305]
    
        Hi Gary,
        
        One query:
        Using tool command "immcfg", only MULTI_VALUE attributes can be 
modified 
        for two different values. immcfg cannot be used for single value 
attribute.
        Is the application a client similar to immcfg?
        And what is the use case here?
        I think such a modification for a single value attribute in a single 
CCB 
        should not be allowed by IMM.
        
        
        Thanks,
        Praveen
        
        On 15-Feb-17 7:50 AM, Gary Lee wrote:
        >  src/amf/amfd/su.cc |  12 ++++++++++--
        >  1 files changed, 10 insertions(+), 2 deletions(-)
        >
        >
        > Someone could change saAmfSUMaintenanceCampaign more than once in a 
CCB.
        > We should not assert / cause a node reboot because of this.
        >
        > diff --git a/src/amf/amfd/su.cc b/src/amf/amfd/su.cc
        > --- a/src/amf/amfd/su.cc
        > +++ b/src/amf/amfd/su.cc
        > @@ -1869,9 +1869,17 @@ static void su_ccb_apply_modify_hdlr(str
        >                               su->saAmfSUMaintenanceCampaign = "";
        >                               TRACE("saAmfSUMaintenanceCampaign 
cleared for '%s'", su->name.c_str());
        >                       } else {
        > -                             
osafassert(su->saAmfSUMaintenanceCampaign.empty() == true);
        > -                             su->saAmfSUMaintenanceCampaign = 
Amf::to_string(
        > +                             const std::string 
saAmfSUMaintenanceCampaign = Amf::to_string(
        >                                       
reinterpret_cast<SaNameT*>(attr_mod->modAttr.attrValues[0]));
        > +                             // there is a check in completed 
callback to ensure saAmfSUMaintenanceCampaign is empty
        > +                             // before allowing modification but 
saAmfSUMaintenanceCampaign could be changed
        > +                             // multiple times in a CCB
        > +                             if 
(su->saAmfSUMaintenanceCampaign.empty() == false &&
        > +                                     
su->saAmfSUMaintenanceCampaign.compare(saAmfSUMaintenanceCampaign) != 0) {
        > +                                     
LOG_WA("saAmfSUMaintenanceCampaign set multiple times in CCB for '%s'",
        > +                                             su->name.c_str());
        > +                             }
        > +                             su->saAmfSUMaintenanceCampaign = 
saAmfSUMaintenanceCampaign;
        >                               TRACE("saAmfSUMaintenanceCampaign set 
to '%s' for '%s'",
        >                                         
su->saAmfSUMaintenanceCampaign.c_str(), su->name.c_str());
        >                       }
        >
        
    



------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to