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

Reply via email to