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