Hi Vu,

Ack. Has not tested. Should be reviewed but someone else as well

Some notes:
1.
Tests and test cases are insufficiently described. This includes the new test 
case. I know that this is the case for almost all tests also in other OpenSAF 
services but I think this should be changed. At least for new test cases and 
when test cases are changed documentation should be done.
The following should always be documented:
- What the test case is testing and criteria for a PASS
- Prerequisites, e.g. in this case I assume that PBE must be activated and that 
it must be executed on the active controller node?
- Other dependencies if any

2.
In general it is not a good idea to handle states like; mState >= 
IMM_CCB_CRITICAL
This makes it possible to make errors like adding a new state after 
IMM_CCB_CRITICAL where an abort is allowed. A reader must also assume that all 
states after IMM_CCB_CRITICAL also are critical.
At least add a comment in the ImmCcbState enum before the line " 
IMM_CCB_CRITICAL = 9,  // Unilateral abort no longer allowed (except by PBE). " 
saying;
// Unilateral abort no longer allowed (except by PBE).
to make it clear that all states after IMM_CCB_CRITICAL also means that the CCB 
is in a critical state and abort is not allowed
IMM_CCB_CRITICAL = 9,  // Unilateral abort no longer allowed (except by PBE).

/Lennart

> -----Original Message-----
> From: Vu Minh Nguyen <vu.m.ngu...@dektech.com.au>
> Sent: den 6 juli 2018 08:19
> To: Hans Nordebäck <hans.nordeb...@ericsson.com>; Lennart Lund
> <lennart.l...@ericsson.com>; Gary Lee <gary....@dektech.com.au>
> Cc: opensaf-devel@lists.sourceforge.net; Vu Minh Nguyen
> <vu.m.ngu...@dektech.com.au>
> Subject: [PATCH 0/1] Review Request for imm: do not purge sync request on
> client having critical CCB [#2889]
> 
> Summary: imm: do not purge sync request on client having critical CCB
> [#2889]
> Review request for Ticket(s): 2889
> Peer Reviewer(s): Hans, Gary
> Pull request to: *** LIST THE PERSON WITH PUSH ACCESS HERE ***
> Affected branch(es): develop
> Development branch: ticket-2889
> Base revision: ca6067f31038b9d7076b5836d691591e992302ee
> Personal repository: git://git.code.sf.net/u/winhvu/review
> 
> --------------------------------
> 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
> 
> NOTE: Patch(es) contain lines longer than 80 characers
> 
> Comments (indicate scope for each "y" above):
> ---------------------------------------------
> *** EXPLAIN/COMMENT THE PATCH SERIES HERE ***
> 
> revision b61fc5f3d163b9d2d3d58662e336ed844a7be658
> Author:       Vu Minh Nguyen <vu.m.ngu...@dektech.com.au>
> Date: Fri, 6 Jul 2018 12:01:06 +0700
> 
> imm: do not purge sync request on client having critical CCB [#2889]
> 
> When CCB apply (IMMND_EVT_A2ND_CCB_APPLY) gets TIMEOUT, IMMND
> will be
> informed the timeout via msg type IMMND_EVT_A2ND_CL_TIMEOUT, and
> then
> doing following things:
> 1) Attemp to abort CCB even the CCB state is in critical.
> 2) Remove client node from client dabase.
> 
> Once the CCB has been comitted, saImmOmCcbApply() returns SA_AIS_OK
> to user.
> As the client is removed at #2 above, any IMM operations on the IMM OM
> handle
> such as saImmOmCcbObjectDelete() or saImmOmFinalize() will result in
> BAD_HANDLE.
> 
> With this fix, the client having critical CCB will not be purged when
> timeout happens at IMM sync requests.
> 
> 
> 
> Complete diffstat:
> ------------------
>  .../apitest/management/test_saImmOmCcbInitialize.c |   4 +
>  .../management/test_saImmOmCcbObjectDelete.c       | 120
> +++++++++++++++++++++
>  src/imm/immnd/ImmModel.cc                          |  18 ++--
>  3 files changed, 133 insertions(+), 9 deletions(-)
> 
> 
> Testing Commands:
> -----------------
> Run the newly added test case `immomtest 6 39` on the active controller.
> 
> 
> Testing, Expected Results:
> --------------------------
> The test case is PASSED.
> 
> 
> Conditions of Submission:
> -------------------------
> Ack from reviewers
> 
> 
> 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 ~/.gitconfig file (i.e. user.name, user.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.


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to