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