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

Reply via email to