Hi AndersBj,

Reviewed and tested the patch.
Ack.

/Neel.
On Monday 02 September 2013 10:01 PM, Anders Bjornerstedt wrote:
> Summary: IMM: Abort sync when deadlock detected between sync and PBE (#556)
> Review request for Trac Ticket(s): 556
> Peer Reviewer(s): Neel
> Pull request to:
> Affected branch(es):  4.2, 4.3, default(4.4)
> Development branch:
>
> --------------------------------
> Impacted area       Impact y/n
> --------------------------------
>   Docs                    n
>   Build system            n
>   RPM/packaging           n
>   Configuration files     n
>   Startup scripts         n
>   SAF services            n
>   OpenSAF services        n
>   Core libraries          n
>   Samples                 n
>   Tests                   n
>   Other                   n
>
>
> Comments (indicate scope for each "y" above):
> ---------------------------------------------
>
> changeset 05b6c7d04835dcfc9c97bce09efa7565677d2990
> Author:       Anders Bjornerstedt <[email protected]>
> Date: Mon, 02 Sep 2013 18:25:55 +0200
>
>       IMM: Abort sync when deadlock detected between sync and PBE (#556)
>
>        The sync which is about to start is blocked waiting for ccbs to 
> complete.
>       The logic that is periodically invoked to check this is modified so 
> that it
>       detects if the PBE has been restarted AND there are CCBs in critical. In
>       that case deadlock is proclaimed between PBE and sync and the sync is
>       aborted.
>
>       There is always a waiting period of four seconds between syncs, both 
> after
>       regular sync completion and aborted sync. This is to allow the imm 
> service
>       to "come up for air", that is process other urgent jobs, such as 
> allowing a
>       dump iteration to set epoch and start.
>
>       Testing this fix requires a testpatch that injects delay in the PBE for 
> the
>       commit processing for a ccb, such as "ccb 3". Plus also a delay in a
>       restarted PBE to aquire the dump iterator. This allows the tester tto
>       trigger the ccb (using immcfg) and then while the ccb is blocked, to 
> kill
>       the immnd coord, which will also cause the PBE to terminate.
>
>       The restarted PBE will not be too quick in obtaining the dump iterator, 
> to
>       allow the sync to get started => deadlock.
>
>       Without the fix, the deadlock will last for 20 seconds and then both 
> PBE and
>       sync will abort and restart. With the patch, the sync should get aborted
>       soon after start. Then wait for 4 seconds before restarting, allowing 
> the
>       PBE to proceed obtaining the dump and epoch.
>
>       Test patch will be provided on request.
>
>
> Complete diffstat:
> ------------------
>   osaf/services/saf/immsv/immnd/ImmModel.cc  |   9 ++++++---
>   osaf/services/saf/immsv/immnd/immnd_init.h |   2 +-
>   osaf/services/saf/immsv/immnd/immnd_proc.c |  36 
> +++++++++++++++++++++++++++++++++---
>   3 files changed, 40 insertions(+), 7 deletions(-)
>
>
> Testing Commands:
> -----------------
>   <<LIST THE COMMAND LINE TOOLS/STEPS TO TEST YOUR CHANGES>>
>
>
> Testing, Expected Results:
> --------------------------
>   <<PASTE COMMAND OUTPUTS / TEST RESULTS>>
>
>
> Conditions of Submission:
> -------------------------
>   <<HOW MANY DAYS BEFORE PUSHING, CONSENSUS ETC>>
>
>
> 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.
>


------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to