Hi Mahesh, Please see the attachment for the README. Let me know if there is any more information required.
Regarding your comments: - during headless state applications may behave like during CPND restart case [Nhat] Headless state and CPND restart are different events. Thus, the behavior is different. Headless state is a case where both SCs go down. - The behavior of application will be consistent with other saf services like imm/amf behavior during headless state. [Nhat] I'm not clear what you mean about "consistent"? Best regards, Nhat Pham -----Original Message----- From: A V Mahesh [mailto:[email protected]] Sent: Friday, January 29, 2016 11:12 AM To: Nhat Pham <[email protected]>; [email protected] Cc: [email protected] Subject: Re: [PATCH 0 of 1] Review Request for cpsv: Support preserving and recovering checkpoint replicas during headless state V2 [#1621] Hi Nhat Pham, I stared reviewing this patch , so can please provide README file with scope and limitations , that will help to define testing/reviewing scope . Following are minimum things we can keep in mind while reviewing/accepting patch , - Not effecting existing functionality - during headless state applications may behave like during CPND restart case - The minimum functionally of application works - The behavior of application will be consistent with other saf services like imm/amf behavior during headless state. So please do provide any additional detailed in README if any of the above is deviated , that allow users to know about the limitations/deviation. -AVM On 1/4/2016 3:15 PM, Nhat Pham wrote: > Summary: cpsv: Support preserving and recovering checkpoint replicas > during headless state [#1621] Review request for Trac Ticket(s): #1621 > Peer Reviewer(s): [email protected]; [email protected] > Pull request to: [email protected] Affected branch(es): default > Development branch: default > > -------------------------------- > 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 faec4a4445a4c23e8f630857b19aabb43b5af18d > Author: Nhat Pham <[email protected]> > Date: Mon, 04 Jan 2016 16:34:33 +0700 > > cpsv: Support preserving and recovering checkpoint replicas during > headless state [#1621] > > Background: > ---------- This enhancement supports to preserve checkpoint replicas in case > both SCs down (headless state) and recover replicas in case one of SCs up > again. If both SCs goes down, checkpoint replicas on surviving nodes still > remain. When a SC is available again, surviving replicas are automatically > registered to the SC checkpoint database. Content in surviving replicas are > intacted and synchronized to new replicas. > > When no SC is available, client API calls changing checkpoint configuration > which requires SC communication, are rejected. Client API calls reading and > writing existing checkpoint replicas still work. > > Limitation: The CKPT service does not support recovering checkpoints in > following cases: > - The checkpoint which is unlinked before headless. > - The non-collocated checkpoint has active replica locating on SC. > - The non-collocated checkpoint has active replica locating on a PL and this > PL restarts during headless state. In this cases, the checkpoint replica is > destroyed. The fault code SA_AIS_ERR_BAD_HANDLE is returned when the client > accesses the checkpoint in these cases. The client must re-open the > checkpoint. > > While in headless state, accessing checkpoint replicas does not work if the > node which hosts the active replica goes down. It will back working when a > SC available again. > > Solution: > --------- The solution for this enhancement includes 2 parts: > > 1. To destroy un-recoverable checkpoint described above when both SCs are > down: When both SCs are down, the CPND deletes un-recoverable checkpoint > nodes and replicas on PLs. Then it requests CPA to destroy corresponding > checkpoint node by using new message CPA_EVT_ND2A_CKPT_DESTROY > > 2. To update CPD with checkpoint information When an active SC is up after > headless, CPND will update CPD with checkpoint information by using new > message CPD_EVT_ND2D_CKPT_INFO_UPDATE instead of using > CPD_EVT_ND2D_CKPT_CREATE. This is because the CPND will create new ckpt_id > for the checkpoint which might be different with the current ckpt id if the > CPD_EVT_ND2D_CKPT_CREATE is used. The CPD collects checkpoint information > within 6s. During this updating time, following requests is rejected with > fault code SA_AIS_ERR_TRY_AGAIN: > - CPD_EVT_ND2D_CKPT_CREATE > - CPD_EVT_ND2D_CKPT_UNLINK > - CPD_EVT_ND2D_ACTIVE_SET > - CPD_EVT_ND2D_CKPT_RDSET > > > Complete diffstat: > ------------------ > osaf/libs/agents/saf/cpa/cpa_proc.c | 52 +++++++++++++++++++++++++++++++++++ > osaf/libs/common/cpsv/cpsv_edu.c | 43 +++++++++++++++++++++++++++++ > osaf/libs/common/cpsv/include/cpd_cb.h | 3 ++ > osaf/libs/common/cpsv/include/cpd_imm.h | 1 + > osaf/libs/common/cpsv/include/cpd_proc.h | 7 ++++ > osaf/libs/common/cpsv/include/cpd_tmr.h | 3 +- > osaf/libs/common/cpsv/include/cpnd_cb.h | 1 + > osaf/libs/common/cpsv/include/cpnd_init.h | 2 + > osaf/libs/common/cpsv/include/cpsv_evt.h | 20 +++++++++++++ > osaf/services/saf/cpsv/cpd/Makefile.am | 3 +- > osaf/services/saf/cpsv/cpd/cpd_evt.c | 229 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++ > osaf/services/saf/cpsv/cpd/cpd_imm.c | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > osaf/services/saf/cpsv/cpd/cpd_init.c | 20 ++++++++++++- > osaf/services/saf/cpsv/cpd/cpd_proc.c | 309 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > osaf/services/saf/cpsv/cpd/cpd_tmr.c | 7 ++++ > osaf/services/saf/cpsv/cpnd/cpnd_db.c | 16 ++++++++++ > osaf/services/saf/cpsv/cpnd/cpnd_evt.c | 22 +++++++++++++++ > osaf/services/saf/cpsv/cpnd/cpnd_init.c | 23 ++++++++++++++- > osaf/services/saf/cpsv/cpnd/cpnd_mds.c | 13 ++++++++ > osaf/services/saf/cpsv/cpnd/cpnd_proc.c | 314 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- > 20 files changed, 1189 insertions(+), 11 deletions(-) > > > Testing Commands: > ----------------- > - > > Testing, Expected 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. > begin 666 README_ckpt_headless_feature.txt M5&AE($-+4%0@<V5R=FEC92!S=7!P;W)T<R!T;R!P<F5S97)V92!C:&5C:W!O M:6YT(')E<&QI8V%S(&EN(&-A<V4-"F)O=&@@4T-S(&1O=VX@*&AE861L97-S M('-T871E*2!A;F0@<F5C;W9E<B!R97!L:6-A<R!I;B!C87-E(&]N92!O9B!3 M0W,@=7 -"F%G86EN+B!)9B!B;W1H(%-#<R!G;V5S(&1O=VXL(&-H96-K<&]I M;G0@<F5P;&EC87,@;VX@<W5R=FEV:6YG(&YO9&5S('-T:6QL#0IR96UA:6XN M(%=H96X@82!30R!I<R!A=F%I;&%B;&4@86=A:6XL('-U<G9I=FEN9R!R97!L M:6-A<R!A<F4@875T;VUA=&EC86QL>0T*<F5G:7-T97)E9"!T;R!T:&4@4T,@ M8VAE8VMP;VEN="!D871A8F%S92X@0V]N=&5N="!I;B!S=7)V:79I;F<@<F5P M;&EC87,@87)E#0II;G1A8W1E9"!A;F0@<WEN8VAR;VYI>F5D('1O(&YE=R!R M97!L:6-A<RX-"@T*26X@:&5A9&QE<W,@<W1A=&4L(&-H96-K<&]I;G0@8VQI M96YT(&-A;B!R96%D(&9R;VT@86YD('=R:71E('1O(&5X:7-T:6YG(&-H96-K M<&]I;G0@<F5P;&EC87,N( T*2&]W979E<B!C:&5C:W!O:6YT($%027,@8VAA M;F=I;F<@8VAE8VMP;VEN="!C;VYF:6=U<F%T:6]N('=H:6-H(')E<75I<F5S M(%-#(&-O;6UU;FEC871I;VX@#0IA<F4@<F5J96-T960@=VET:"!F875L="!C M;V1E(%-!7T%)4U]%4E)?5%)97T%'04E.+B!4:&4@<F5J96-T960@05!)<R!A M<F4Z#0HM('-A0VMP=$-H96-K<&]I;G1/<&5N*"D-"BT@<V%#:W!T0VAE8VMP M;VEN=$]P96Y!<WEN8R@I#0HM('-A0VMP=$-H96-K<&]I;G1#;&]S92@I#0HM M('-A0VMP=$-H96-K<&]I;G15;FQI;FLH*0T*+2!S84-K<'1#:&5C:W!O:6YT M4F5T96YT:6]N1'5R871I;VY3970H*0T*+2!S84-K<'1!8W1I=F5297!L:6-A M4V5T*"D-"@T*26X@8V%S92!T:&4@;F]D92!W:&EC:"!H;W-T<R!T:&4@86-T M:79E(')E<&QI8V$@9V]E<R!D;W=N(&1U<FEN9R!H96%D;&5S<R!S=&%T92P- M"F%C8V5S<VEN9R!C:&5C:W!O:6YT(')E<&QI8V%S(&1O97,@;F]T('=O<FL@ M86YY;6]R92X@270@=VEL;"!B86-K('=O<FMI;F<@=VAE;B!A(%-#(&%V86EL M86)L92!A9V%I;BX-"@T*3&EM:71A=&EO;CH@#0I4:&4@0TM05"!S97)V:6-E M(&1O97,@;F]T('-U<'!O<G0@<F5C;W9E<FEN9R!C:&5C:W!O:6YT<R!I;B!F M;VQL;W=I;F<@8V%S97,Z#0H@+2!4:&4@8VAE8VMP;VEN="!W:&EC:"!I<R!U M;FQI;FME9"!B969O<F4@:&5A9&QE<W,N#0H@+2!4:&4@;F]N+6-O;&QO8V%T M960@8VAE8VMP;VEN="!H87,@86-T:79E(')E<&QI8V$@;&]C871I;F<@;VX@ M4T,N#0H@+2!4:&4@;F]N+6-O;&QO8V%T960@8VAE8VMP;VEN="!H87,@86-T M:79E(')E<&QI8V$@;&]C871I;F<@;VX@82!03"!A;F0@=&AI<PT*4$P@<F5S M=&%R=',@9'5R:6YG(&AE861L97-S('-T871E+B!);B!T:&ES(&-A<V5S+"!T M:&4@8VAE8VMP;VEN="!R97!L:6-A(&ES#0ID97-T<F]Y960N(%1H92!F875L M="!C;V1E(%-!7T%)4U]%4E)?0D%$7TA!3D1,12!I<R!R971U<FYE9"!W:&5N M('1H92!C;&EE;G0-"F%C8V5S<V5S('1H92!C:&5C:W!O:6YT(&EN('1H97-E M(&-A<V5S+B!4:&4@8VQI96YT(&UU<W0@<F4M;W!E;B!T:&4-"F-H96-K<&]I M;G0N#0H-"DYO=&4Z#0I4:&ES(&9E871U<F4@9&]E<VXG="!I;7!A8W0@=&AE ?($-+4%0@97AI<W1I;F<@9G5N8W1I;VYA;&ET:65S+@`` ` end ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
