Hi AndersBj,
Reviewed and tested the patch. Ack with nimor comment. comment: The code for ImmModel::classDelete in the patch may not hit because, In classDelete the class name will be erased once it is marked for deletion. and ERR_NOT_EXIST will be returned(The following code will hit). if (i == sClassMap.end()) { TRACE_7("ERR_NOT_EXIST: class '%s' does not exist", className.c_str()); err = SA_AIS_ERR_NOT_EXIST; /Neel On Friday 21 February 2014 09:05 PM, Anders Bjornerstedt wrote: > Summary: IMM: Use existing PBE mutation record to guard against concurrent > class create/delete [#757] > Review request for Trac Ticket(s): 757 > Peer Reviewer(s): Neel > Pull request to: > Affected branch(es): 4.2(?); 4.3; 4.4: default(4.5) > Development branch: > > -------------------------------- > 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 8b350adb3b0eaec83a6bbe758e4d5a222cf916cf > Author: Anders Bjornerstedt <anders.bjornerst...@ericsson.com> > Date: Fri, 21 Feb 2014 16:09:37 +0100 > > IMM: Use existing PBE mutation record to guard against concurrent class > create/delete [#757] > > The existing mutation record for PBE operations includes records for > class- > create and class-delete. These are now used to detect any pre-existing > and > on-going PBE job for a class-create or class-delete. When this is > detected, > any new request to delete or create the same class will get ERR_BUSY. > > If PBE is not enabled, then class-create and class-delete are pure > uninterrupted single jobs in the IMMNDs and have no concurrency issues. > > > Complete diffstat: > ------------------ > osaf/services/saf/immsv/immnd/ImmModel.cc | 100 > ++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------- > 1 files changed, 48 insertions(+), 52 deletions(-) > > > Testing Commands: > ----------------- > I tested by hacking osaf/services/saf/immsv/immpbed/immpbe_daemon.cc > in the PBE admin-op case for class-create or class-delete to sleep for a few > seconds. > This to give me time to also invoke a second class-create or class-delete or > object-create > using the same class. while it was being created or deleted. > > > > Testing, Expected Results: > -------------------------- > Asuming a class-create or class-delete is onögoing (being processed by the > PBE), > then a second class-crerate or class-delete or an object-create, using the > same class > should get ERR_BUSY. A NOtice level message is also written to the syslog. > No error string can be provided for class-create or class-delete attempts. > > An error string could in principle be provided for object-create, but that is > not the case in this patch. > > > Conditions of Submission: > ------------------------- > Ack from Neel. > If I get the ack while 4.2 is still open, then I will push it also to 4.2. > > But this is a minor ticket and the final 4.2 release should not be delayed > purely waiting on this fix. > > > 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. > ------------------------------------------------------------------------------ Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce. With Perforce, you get hassle-free workflows. Merge that actually works. Faster operations. Version large binaries. Built-in WAN optimization and the freedom to use Git, Perforce or both. Make the move to Perforce. http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel