Ack, Mathi. > -----Original Message----- > From: Lennart Lund [mailto:[email protected]] > Sent: Tuesday, September 22, 2015 5:09 PM > To: Vu Nguyen M; Mathivanan Naickan Palanivelu > Cc: [email protected] > Subject: RE: [devel] [PATCH 1 of 1] log: Rt obj for showing service config is > not > created during upgrade [#1491] > > Hi Vu, > > See my comments below: > > Thanks > Lennart > > -----Original Message----- > From: Vu Minh Nguyen [mailto:[email protected]] > Sent: den 22 september 2015 04:51 > To: Lennart Lund; [email protected] > Cc: [email protected] > Subject: RE: [devel] [PATCH 1 of 1] log: Rt obj for showing service config is > not > created during upgrade [#1491] > > Hi Lennart, > > When switch-over, seems that the standby logsv gets "rda callback" first, > then logsv does change "ha_state" in the callback. > In that case, when getting 'active assignement' from AMF, the job 'create > conf runtime obj' could be ignored as HA state is already changed. > > [Lennart] > Switch over will work. In this case conf_runtime_obj_create() will be called. > When AMF is started during cluster start we get an active assignment while > already active but in this case conf_runtime_obj_create() is called during log > service init. If failover conf_runtime_obj_create() is not called because we > are already active. > The problem with a missing Rt object can only occur when upgrading from a > log version that does not support Rt object to a version that does. The > upgrade sequence is: > - Create the OpenSafLogCurrentConfig class > - Update log service on standby > - Switch over (Rt object will be created) > - Upgrade log service on new standby > > So, in my opinion, we should add ` conf_runtime_obj_create()` in > `imm_impl_restore_thread()` too. > > [Lennart] > This I actually agree with but not as a solution for not running active > handler. > If there is something wrong with IMM and we get BAD HANDLE when trying > to create the Rt object there will be no more attempts to do so and we will > not have any until a switch over is done or the cluster is restarted. > > Regards, > Vu > > > >-----Original Message----- > >From: Lennart Lund [mailto:[email protected]] > >Sent: Monday, September 21, 2015 7:04 PM > >To: [email protected] > >Cc: [email protected] > >Subject: [devel] [PATCH 1 of 1] log: Rt obj for showing service config > >is > not > >created during upgrade [#1491] > > > > osaf/services/saf/logsv/lgs/lgs_amf.c | 7 ++++++- > > 1 files changed, 6 insertions(+), 1 deletions(-) > > > > > >Server running on standby shall create the runtime object for showing > >log service configuration if not exist > > > >diff --git a/osaf/services/saf/logsv/lgs/lgs_amf.c > >b/osaf/services/saf/logsv/lgs/lgs_amf.c > >--- a/osaf/services/saf/logsv/lgs/lgs_amf.c > >+++ b/osaf/services/saf/logsv/lgs/lgs_amf.c > >@@ -78,13 +78,18 @@ static SaAisErrorT amf_active_state_hand > > LOG_ER("saImmOiClassImplementerSet > (SaLogStreamConfig) > >failed: %d", error); > > goto done; > > } > >- /* Do this only if the class exists */ > >+ /* Do this only if the log service configuration class exists */ > > if (*(bool*) > >lgs_cfg_get(LGS_IMM_LOG_OPENSAFLOGCONFIG_CLASS_EXIST)) { > > if ((error = immutil_saImmOiClassImplementerSet(cb- > >>immOiHandle, "OpenSafLogConfig")) > > != SA_AIS_OK) { > > LOG_ER("saImmOiClassImplementerSet > >(OpenSafLogConfig) failed: %d", error); > > goto done; > > } > >+ > >+ /* Create a log service configuration runtime object if the > >+ * configuration runtime class exist and no object exist > >+ */ > >+ conf_runtime_obj_create(cb->immOiHandle); > > } > > > > /* check existing streams */ > > > >----------------------------------------------------------------------- > >---- > --- > >_______________________________________________ > >Opensaf-devel mailing list > >[email protected] > >https://lists.sourceforge.net/lists/listinfo/opensaf-devel >
------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
