Also a commit message should start with a verb in present tense, add, fix, 
remove, delete etc

> -----Original Message-----
> From: Anders Bjornerstedt [mailto:anders.bjornerst...@ericsson.com]
> Sent: den 6 december 2013 15:33
> To: Zoran Milinkovic
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: Re: [devel] [PATCH 0 of 3] Review Request for IMM: Implementation of 
> NO_DANGLING flag [#49]
> 
> Hi Zoran.
> Server side patch looks much better :-)
> I still have some detail comments though.
> Not all of them in this mail, but just to let you process some of them
> in parallel with me and Neel continuing
> the review, I send you these comments now.
> 
> 1) Please make sure that the commit slogan for these change-sets are
> prefixed with 'IMM: ' or 'IMMTOOLS:'.
> Also skip starting the slogan proper with a redundant 'IMM':
> Example:
>    IMM: IMM service implementation of NO_DANGLING flag [#49]
> should be:
>    IMM: Service implementation of NO_DANGLING flag [#49]
> 
> It looks almost correct in the review request mail message subject line.
> But the patch slogan is sometimes incorrect.
> The patch slogan is the more important since it will become part of the
> changset history.
> ---------------------------------------------------------------------------
> 
> 2) I think you should inline ImmAttrMultiValue::getNextAttrValue()
> same way as   ImmAttrValue::empty() const is inline in the .hh file.
> 
>    ImmAttrMultiValue* getNextAttrValue() const {return mNext;}
> 
> This call is used in iterating through a multi-values so its lilely to
> be in tight loops.
> ------------------------------------------------------
> 3) I think we should rename sReverseRefObjectMMap to
> sReverseNoDanglingObjectMMap
> 
> Please also move down the comment explaining this data-structure to be
> below the structure,
> not before it. This seems to be the dominating convention in this file
> and since this comment
> appears directly between two data-structures, it becomes unclear which
> one is referred to.
> The alternative is to have a blank line before the comment and after the
> data-structure so that
> both become associated by proximity to each other and separation from
> the rest.
> -----------------------------------------------------------------------------------------
> 4) We need to allow NO_DANGLING on RDN attributes.
> I suggest we fix this as a separate defect ticket. So in class-create we
> need to remove the check
> that ends up with:
>     LOG_NO("ERR_INVALID_PARAM: RDN '%s' cannot have NO_DANGLING flag",
> 
> The reason NO_DANGLING should be allowed on RDN attributes of CONFIG
> objects is
> to make referential integrity checking possible for association objects.
> The other checks are correct though.
> Runtime objects cannot have no-dangling and attribute type must be SaNameT.
> In the next OpensAF release we will hopefully be moving away from
> SaNameT, replacing it with
> SaStringT as the physical type, plus a new IMM_ATTR flag to indicate
> that the value is a DN.
> When/if that happens, the no-dangling class-create checks need to be
> updated to accept that new
> kind of "reference" declaration.
> ------------------------------------------------------------------------------------------
> 5) In ImmModel::notCompatibleAtt
> 
> In the loop specific for no-dangling chjecks, you iterate through the
> extent of a class and for each
> object this if statement is executed:
>                 ImmAttrValueMap::iterator avmi =
> (*osi)->mAttrValueMap.find(attName);
>                 if(avmi == (*osi)->mAttrValueMap.end())
>                     continue;
> 
> It makes no sense to continue the iteration here. I would suggest
> instead an osafassert.
> If anattribute exists in a class then in the OpensAF implementation of
> the IMM this means
> that *all* instances of that class have the attribute defined. Now this
> is an upgrade, so
> we need to be wary of the case whn an attribute is added in a new class
> version.
> But this wntire section of code is guarded by
>         /* "changedAttrs != NULL" ensures that this check is only for
> the schema update */
> So we know that the attribute exists in both new and old version.
> So replace the if statetement with:
> 
>     osafassert(avmi != (*osi)->mAttrValueMap.end());
> ------------------------------------------------------------------------------------
> 6) In ImmModel::notCompatibleAtt
> This syslog warning:
> 
>             LOG_WA("Object has a NO_DANGLING reference to a non-existing
> object");
> 
> I think should rather say:
> 
>              LOG_WA("Object %s attribute %s has a reference to a
> non-existing object %s "
>                                "schema change to add NO_DANGLING not
> possible", .....);
> 
> ------------------------------------------------------------------------------------------------------
> 7) Still in notCompatibleAtt
> This syslog warning:
> 
>              LOG_WA("Object cannot have a NO_DANGLING reference to a
> non-persistent runtime object");
> 
> should provide a bit more info:
> 
>              LOG_WA("Object %u  attribute %s has a  reference to a
> non-persistent runtime object %s "
>                                "schema change to add NO_DANGLING not
> possible", .....);
> -----------------------------------------------------------------------------------------------------------
> 8) Stil in notCompatibleAtt
> This syslog warning:
>                             LOG_WA("CCB operation on NO_DANGLING
> reference is not finished");
> 
> Should provide more info:
> 
>                             LOG_WA("CCB in progress operating on object
> %s attribute % referenced by object %s being upgraded "
>                                "schema change to add NO_DANGLING not
> possible", .....);
> -------------------------------------------------------------------------------
> 
> Zoran,  I am not finished yet, but I will let you process these comments
> for now.
> 
> /AndersBj
> 
> 
> 
> Zoran Milinkovic wrote:
> > Summary: IMM: Implementation of NO_DANGLING flag [#49]
> > Review request for Trac Ticket(s): 49
> > Peer Reviewer(s): Neelakanta, Anders
> > Pull request to: Zoran
> > Affected branch(es): default(4.4)
> > Development branch: default(4.4)
> >
> > --------------------------------
> > Impacted area       Impact y/n
> > --------------------------------
> >  Docs                    n
> >  Build system            n
> >  RPM/packaging           n
> >  Configuration files     n
> >  Startup scripts         n
> >  SAF services            y
> >  OpenSAF services        n
> >  Core libraries          n
> >  Samples                 n
> >  Tests                   n
> >  Other                   n
> >
> >
> > Comments (indicate scope for each "y" above):
> > ---------------------------------------------
> >
> > changeset 262748c382d21cb6ec391e1b1fcf4a8a1e6256ae
> > Author:     Zoran Milinkovic <zoran.milinko...@ericsson.com>
> > Date:       Thu, 05 Dec 2013 15:56:17 +0100
> >
> >     IMM: API support for NO_DANGLING flag [#49]
> >
> >     IMM API support for reference integrity (NO_DANGLING flag)
> >
> > changeset 121f26d8504c86c63643c03bb81840460e66a69b
> > Author:     Zoran Milinkovic <zoran.milinko...@ericsson.com>
> > Date:       Thu, 05 Dec 2013 15:57:11 +0100
> >
> >     IMM: IMM service implementation of NO_DANGLING flag [#49]
> >
> >     Implementation of reference integrity (NO_DANGLING flag) to IMMSV
> >
> > changeset 68c4e3d7d6b3c3a501c20903fc63d9ba8a125420
> > Author:     Zoran Milinkovic <zoran.milinko...@ericsson.com>
> > Date:       Thu, 05 Dec 2013 15:58:25 +0100
> >
> >     IMMTOOLS: Add support of NO_DANGLING flag to IMM tools [#49]
> >
> >     Support reference integrity (NO_DANGLING flag) to IMM tools
> >
> >
> > Added Files:
> > ------------
> >  osaf/libs/saf/include/saImmOm_A_2_13.h
> >  osaf/services/saf/immsv/schema/SAI-AIS-IMM-XSD-A.02.13.xsd
> >
> >
> > Complete diffstat:
> > ------------------
> >  osaf/libs/agents/saf/imma/imma_om_api.c                    |   36 ++++-
> >  osaf/libs/common/immsv/include/immpbe_dump.hh              |    2 +-
> >  osaf/libs/common/immsv/include/immsv_api.h                 |    9 +
> >  osaf/libs/saf/include/Makefile.am                          |    3 +-
> >  osaf/libs/saf/include/saImmOm_A_2_12.h                     |    2 +
> >  osaf/libs/saf/include/saImmOm_A_2_13.h                     |   60 +++++++++
> >  osaf/libs/saf/libSaImm/Makefile.am                         |    2 +-
> >  osaf/services/saf/immsv/immloadd/imm_loader.cc             |    8 +-
> >  osaf/services/saf/immsv/immloadd/imm_pbe_load.cc           |    2 +-
> >  osaf/services/saf/immsv/immnd/ImmAttrValue.cc              |    6 +
> >  osaf/services/saf/immsv/immnd/ImmAttrValue.hh              |    2 +
> >  osaf/services/saf/immsv/immnd/ImmModel.cc                  |  950
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> +++++++++++++++++++++++++++++++++----------
> >  osaf/services/saf/immsv/immnd/ImmModel.hh                  |   37 +++++-
> >  osaf/services/saf/immsv/schema/SAI-AIS-IMM-XSD-A.02.13.xsd |  180 
> > +++++++++++++++++++++++++++
> >  osaf/tools/safimm/immcfg/imm_import.cc                     |    2 +
> >  osaf/tools/safimm/immdump/imm_xmlw_dump.cc                 |    9 +
> >  osaf/tools/safimm/immlist/imm_list.c                       |    3 +
> >  17 files changed, 1231 insertions(+), 82 deletions(-)
> >
> >
> > Testing Commands:
> > -----------------
> >
> >
> > Testing, Expected Results:
> > --------------------------
> > The patches need to support:
> > - immload support for NO_DANGLING flag
> > - immdump support for NO_DANGLING flag
> > - immcfg support for NO_DANGLING flag (immcfg -f)
> > - immlist support for NO_DANGLING flag (NO_DANGLING flag is listed)
> > - IMM library support for NO_DANGLING (classCreate - basic checks)
> > - schema update (adding and removing NO_DANGLING flag)
> > - default values
> > - create object (NO_DANGLING attributes with and without values)
> > - modify object (add, replace and delete)
> > - delete object
> > - CCB apply
> > - CCB abort/terminate
> > - support for missing objects, created later within the same CCB
> >
> >
> > Conditions of Submission:
> > -------------------------
> > Ack from Neelakanta and Anders
> >
> >
> > Arch      Built     Started    Linux distro
> > -------------------------------------------
> > mips        n          n
> > mips64      n          n
> > x86         n          n
> > x86_64      n          n
> > powerpc     n          n
> > powerpc64   n          n
> >
> >
> > Reviewer Checklist:
> > -------------------
> > [Submitters: make sure that your review doesn't trigger any checkmarks!]
> >
> >
> > Your checkin has not passed review because (see checked entries):
> >
> > ___ Your RR template is generally incomplete; it has too many blank entries
> >     that need proper data filled in.
> >
> > ___ You have failed to nominate the proper persons for review and push.
> >
> > ___ Your patches do not have proper short+long header
> >
> > ___ You have grammar/spelling in your header that is unacceptable.
> >
> > ___ You have exceeded a sensible line length in your headers/comments/text.
> >
> > ___ You have failed to put in a proper Trac Ticket # into your commits.
> >
> > ___ You have incorrectly put/left internal data in your comments/files
> >     (i.e. internal bug tracking tool IDs, product names etc)
> >
> > ___ You have not given any evidence of testing beyond basic build tests.
> >     Demonstrate some level of runtime or other sanity testing.
> >
> > ___ You have ^M present in some of your files. These have to be removed.
> >
> > ___ You have needlessly changed whitespace or added whitespace crimes
> >     like trailing spaces, or spaces before tabs.
> >
> > ___ You have mixed real technical changes with whitespace and other
> >     cosmetic code cleanup changes. These have to be separate commits.
> >
> > ___ You need to refactor your submission into logical chunks; there is
> >     too much content into a single commit.
> >
> > ___ You have extraneous garbage in your review (merge commits etc)
> >
> > ___ You have giant attachments which should never have been sent;
> >     Instead you should place your content in a public tree to be pulled.
> >
> > ___ You have too many commits attached to an e-mail; resend as threaded
> >     commits, or place in a public tree for a pull.
> >
> > ___ You have resent this content multiple times without a clear indication
> >     of what has changed between each re-send.
> >
> > ___ You have failed to adequately and individually address all of the
> >     comments and change requests that were proposed in the initial review.
> >
> > ___ You have a misconfigured ~/.hgrc file (i.e. username, email etc)
> >
> > ___ Your computer have a badly configured date and time; confusing the
> >     the threaded patch review.
> >
> > ___ Your changes affect IPC mechanism, and you don't present any results
> >     for in-service upgradability test.
> >
> > ___ Your changes affect user manual and documentation, your patch series
> >     do not contain the patch that updates the Doxygen manual.
> >
> >
> > ------------------------------------------------------------------------------
> > Sponsored by Intel(R) XDK
> > Develop, test and display web and hybrid apps with a single code base.
> > Download it for free now!
> > http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
> > _______________________________________________
> > Opensaf-devel mailing list
> > Opensaf-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/opensaf-devel
> >
> 
> 
> ------------------------------------------------------------------------------
> Sponsored by Intel(R) XDK
> Develop, test and display web and hybrid apps with a single code base.
> Download it for free now!
> http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
> _______________________________________________
> Opensaf-devel mailing list
> Opensaf-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/opensaf-devel

------------------------------------------------------------------------------
Sponsored by Intel(R) XDK 
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to