Re: [devel] [PATCH 1/1] amf: fix Comp stuck in RESTARTING presence state [#3011]

2019-02-28 Thread Minh Hon Chau

Hi Thuan,

ack (review + test).

Thanks

Minh

:

During SU (many COMPs) restart recovery, if any COMP finish instantiated
then crash while other COMPs are still instantiating, AMF recovery it by
restarting but AMF only cleanup without re-instantiation because AMF see
the COMP is not eligible for instantiation. The error COMP is stuck in
RESTARTING without further action from AMF.

AMF should allow COMP re-instantiation if SU state is INSTANTIATING and
error COMP state is RESTARTING.
---
  src/amf/amfnd/clc.cc | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/amf/amfnd/clc.cc b/src/amf/amfnd/clc.cc
index 463c5de..7a62a56 100644
--- a/src/amf/amfnd/clc.cc
+++ b/src/amf/amfnd/clc.cc
@@ -1805,7 +1805,8 @@ static bool 
is_failed_comp_eligible_for_instantiation(AVND_COMP *comp) {
/*During surestart recovery, after cleanup of all components, amfnd 
starts
  instantiation of components. A component may fault at this stage. 
Such a
  component is eligible for instantiation.*/
-  if ((comp->pres == SA_AMF_PRESENCE_INSTANTIATING) &&
+  if (((comp->pres == SA_AMF_PRESENCE_RESTARTING) ||
+   (comp->pres == SA_AMF_PRESENCE_INSTANTIATING)) &&
(comp->su->pres == SA_AMF_PRESENCE_INSTANTIATING))
  return true;
  
--

2.7.4


___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel


[devel] [PATCH 1/1] amf: fix Comp stuck in RESTARTING presence state [#3011]

2019-02-24 Thread thuan.tran
During SU (many COMPs) restart recovery, if any COMP finish instantiated
then crash while other COMPs are still instantiating, AMF recovery it by
restarting but AMF only cleanup without re-instantiation because AMF see
the COMP is not eligible for instantiation. The error COMP is stuck in
RESTARTING without further action from AMF.

AMF should allow COMP re-instantiation if SU state is INSTANTIATING and
error COMP state is RESTARTING.
---
 src/amf/amfnd/clc.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/amf/amfnd/clc.cc b/src/amf/amfnd/clc.cc
index 463c5de..7a62a56 100644
--- a/src/amf/amfnd/clc.cc
+++ b/src/amf/amfnd/clc.cc
@@ -1805,7 +1805,8 @@ static bool 
is_failed_comp_eligible_for_instantiation(AVND_COMP *comp) {
   /*During surestart recovery, after cleanup of all components, amfnd 
starts
 instantiation of components. A component may fault at this stage. Such 
a
 component is eligible for instantiation.*/
-  if ((comp->pres == SA_AMF_PRESENCE_INSTANTIATING) &&
+  if (((comp->pres == SA_AMF_PRESENCE_RESTARTING) ||
+   (comp->pres == SA_AMF_PRESENCE_INSTANTIATING)) &&
   (comp->su->pres == SA_AMF_PRESENCE_INSTANTIATING))
 return true;
 
-- 
2.7.4



___
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel