Hi Neelakanta,

1. I will fix this.
2. That is correct behavior. If both objects are deleted in the same CCB, then 
it's possible to delete both of them. Number of same no dangling references in 
multivalue attribute does not matter on deletion objects. Having one reference 
is the same as having more.
3. Yes, a class may have more attributes with NO_DANGLING flags. Test cases for 
supporting more attributes with no dangling flags is up to applications, and 
I'm pretty sure if we limit a class to have only one attribute with NO_DANGLING 
flag, it will be a problem soon.

4. and 5. These issues have been already mentioned in earlier review comments.

Thanks,
Zoran

-----Original Message-----
From: Neelakanta Reddy [mailto:reddy.neelaka...@oracle.com] 
Sent: den 12 december 2013 14:20
To: Zoran Milinkovic; Anders Björnerstedt
Cc: opensaf-devel@lists.sourceforge.net
Subject: Re: [PATCH 0 of 3] Review Request for IMM: Implementation of 
NO_DANGLING flag [#49]

Hi Zoran/AndersBj,

The following are the comments:

1. when tried to modify the class (adding a new Attribute with 
NO_DANGLING) by using opensafImmNostdFlags on, the immnd asserted with 
the following log(No objects are created for the class yet):

Dec 12 17:02:16 Slot-4 def_523.o: logtrace: trace enabled to file 
/var/log/opensaf/imma.trace, mask=0xffffffff
Dec 12 17:02:16 Slot-4 def_523.o: NO IMMA library TRACE initialize done 
pid:19426 svid:26 file:/var/log/opensaf/imma.trace
Dec 12 17:02:16 Slot-4 osafimmnd[16888]: NO Class 'testClass6' exist - 
check implied schema upgrade
Dec 12 17:02:16 Slot-4 osafimmnd[16888]: NO New attribute Attr2 added by 
new class def
Dec 12 17:02:16 Slot-4 osafimmnd[16888]: NO Schema change for class 
testClass6 ACCEPTED. Adding 1 and changing 0 attribute defs
Dec 12 17:02:16 Slot-4 osafimmnd[16888]: ImmModel.cc:4596: 
addNoDanglingReferences: Assertion 'avmi != object->mAttrValueMap.end()' 
failed.
Dec 12 17:02:16 Slot-4 osafamfnd[16983]: NO 
'safComp=IMMND,safSu=SC-1,safSg=NoRed,safApp=OpenSAF' faulted due to 
'avaDown' : Recovery is 'componentRestart'
Dec 12 17:02:16 Slot-4 osafimmd[16873]: WA IMMND coordinator at 2010f 
apparently crashed => electing new coord
Dec 12 17:02:16 Slot-4 osafimmd[16873]: ER Failed to find candidate for 
new IMMND coordinator
Dec 12 17:02:16 Slot-4 osafimmd[16873]: ER Active IMMD has to restart 
the IMMSv. All IMMNDs will restart
Dec 12 17:02:16 Slot-4 osafimmd[16873]: ER IMM RELOAD with NO persistent 
back end => ensure cluster restart by IMMD exit at both SCs, exiting
Dec 12 17:02:16 Slot-4 osafamfnd[16983]: NO 
'safComp=IMMD,safSu=SC-1,safSg=2N,safApp=OpenSAF' faulted due to 
'avaDown' : Recovery is 'nodeFailfast'
Dec 12 17:02:16 Slot-4 osafamfnd[16983]: ER 
safComp=IMMD,safSu=SC-1,safSg=2N,safApp=OpenSAF Faulted due to:avaDown 
Recovery is:nodeFailfast
Dec 12 17:02:16 Slot-4 osafamfnd[16983]: Rebooting OpenSAF NodeId = 
131343 EE Name = , Reason: Component faulted: recovery is node fail

2. If the NO_DANGLING attribute is MULTI_VALUE attribute. AN object "x" 
is created with multiple referece as object "y" and object "z" .
If Y object and x object are in same CCB for deletion, then the object X 
is deleted and is not giving error because it is still referencing y

3. Is class can have Multiple NO_DANGLING attributes? (when I tested it 
is supported) . Is there any specific use case to support(this 
enhancement already supports MULTI_VALUE for NO_DANGLING attributes).

4. As anders pointed each function must have Comments as what the 
function is doing.

5. The function names must be short and understandable.

/Neel.

On Thursday 05 December 2013 08:34 PM, 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.
>


------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&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