Hi Canh, Ack
Thanks Lennart > -----Original Message----- > From: Canh Van Truong <canh.v.tru...@dektech.com.au> > Sent: den 9 augusti 2018 11:08 > To: Lennart Lund <lennart.l...@ericsson.com>; Vu Minh Nguyen > <vu.m.ngu...@dektech.com.au> > Cc: opensaf-devel@lists.sourceforge.net > Subject: RE: [PATCH 1/1] log: fix log agent never remove log-client in list if > server return BAD_HANDLE [#2910] > > Hi Lennart, > > The patch just want to clean up the client in agent in case BAD_HANDLE. I > attach the new update. > If you have any comments please let me know. > > Thanks > Canh > > > -----Original Message----- > From: Lennart Lund <lennart.l...@ericsson.com> > Sent: Tuesday, August 7, 2018 7:33 PM > To: Canh Van Truong <canh.v.tru...@dektech.com.au>; Vu Minh Nguyen > <vu.m.ngu...@dektech.com.au> > Cc: opensaf-devel@lists.sourceforge.net; Canh Van Truong > <canh.v.tru...@dektech.com.au> > Subject: RE: [PATCH 1/1] log: fix log agent never remove log-client in list > if server return BAD_HANDLE [#2910] > > Hi Canh, > > Se my comment below. > > I checked the server code and all evt procedures returns BAD HANDLE if > there > is no client corresponding with the request except for stream open request > that never return BAD HANDLE. This seems to have something to do with > headless recovery handling but also this event handler should return BAD > HANDLE if no valid client and no recovery is ongoing. > I think this should be investigated > > Regards > Lennart > > > -----Original Message----- > > From: Canh Van Truong <canh.v.tru...@dektech.com.au> > > Sent: den 6 augusti 2018 10:37 > > To: Lennart Lund <lennart.l...@ericsson.com>; Vu Minh Nguyen > > <vu.m.ngu...@dektech.com.au> > > Cc: opensaf-devel@lists.sourceforge.net; Canh Van Truong > > <canh.v.tru...@dektech.com.au> > > Subject: [PATCH 1/1] log: fix log agent never remove log-client in list if > server > > return BAD_HANDLE [#2910] > > > > Log agent get BAD_HANDLE in some API from log server. The client has > > already > > gone away in log server, but it still in the list in agent (lib). it need > to be > > deallocated and removed from list in agent. > > > > The patch updates to remove in log API finalize > > --- > > src/log/agent/lga_agent.cc | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/src/log/agent/lga_agent.cc b/src/log/agent/lga_agent.cc > > index 2bbc28abd..284876360 100644 > > --- a/src/log/agent/lga_agent.cc > > +++ b/src/log/agent/lga_agent.cc > > @@ -567,6 +567,9 @@ SaAisErrorT LogAgent::SendFinalizeMsg(uint32_t > > client_id) { > > ais_rc = SA_AIS_ERR_NO_RESOURCES; > > } > > > [Lennart] This is done in the wrong function. This function is for sending a > message and has nothing to do with the logic for handling different return > codes from the log server. This function shall return whatever return code > that is coming from the server. Doing fixes like this creates incorrect > dependencies which makes code hard to read and maintain in the future. > > The following code in LogAgent::saLogFinalize(): > // from the server end returned before deleting the local records. > ais_rc = SendFinalizeMsg(client->GetClientId()); > if (ais_rc == SA_AIS_OK) { > > Can be changed to: > // from the server end returned before deleting the local records. > ais_rc = SendFinalizeMsg(client->GetClientId()); > if ((ais_rc == SA_AIS_OK) || (ais_rc == SA_AIS_ERR_BAD_HANDLE)) { > > > + // Log client already gone away in log server. > > + if (ais_rc == SA_AIS_ERR_BAD_HANDLE) ais_rc = SA_AIS_OK; > > + > > return ais_rc; > > } > > > > -- > > 2.15.1 ------------------------------------------------------------------------------ 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