Hi Mahesh, Performance is not an issue here. Only the syncing node is affected by this change.
I'm not sure I understand what you meant with "partial stale data in syncing node". During the sync, IMM DB is locked. Veteran nodes are read-only (R_AVAILABLE state), and syncing nodes are write-only (W_AVAILABLE state). While veteran nodes are in R_AVAILABLE state, they only check their data with syncing data, but do not update any data. BR, Zoran -----Original Message----- From: A V Mahesh [mailto:mahesh.va...@oracle.com] Sent: den 5 juni 2017 12:13 To: Zoran Milinkovic <zoran.milinko...@ericsson.com> Cc: opensaf-devel@lists.sourceforge.net Subject: Re: [PATCH 1/1] imm: remove vector clearing for dead implementers, nodes and admin owners in objectSync [#2481] Hi Zoran, On 6/5/2017 2:01 PM, Zoran Milinkovic wrote: > The earlier code clears that vector on each sync object, and reexecuting > discard node is not possible when sync is done. > > The same is for dead implementers and admin owners. ACK from me with following : I understand clearing that vector on each sync object expensive and performance issue also, but it will keep update sync data, if having partial stale data in syncing node is harmless ( I hope IMM DB locked while syncing node) ACK from me ,please check the above before committing. -AVM On 6/5/2017 2:01 PM, Zoran Milinkovic wrote: > Hi Mahesh, > > You have understood correct. > > During the sync, it's not possible to discard node on a node that is going to > be synced. > The data of discarded node is saved in a vector, and discard node should be > executed again when the sync is done. > > The earlier code clears that vector on each sync object, and reexecuting > discard node is not possible when sync is done. > > The same is for dead implementers and admin owners. > > Thanks, > Zoran > > -----Original Message----- > From: A V Mahesh [mailto:mahesh.va...@oracle.com] > Sent: den 5 juni 2017 07:13 > To: Zoran Milinkovic <zoran.milinko...@ericsson.com> > Cc: opensaf-devel@lists.sourceforge.net > Subject: Re: [PATCH 1/1] imm: remove vector clearing for dead > implementers, nodes and admin owners in objectSync [#2481] > > Hi Zoran, > > On 6/2/2017 8:45 PM, Zoran Milinkovic wrote: >> After removing the clearing of dead implementer, node and admin owner >> vectors, re-executing on vectors will be done after the node is fully synced. > Just Trying to understand the problem more , I understand problem as follows > please confirm : > > In a cluster, some payloads are already exist/synced and their NODE STATE > is FULLY_AVAILABLE , at that moment few more payloads are trying join > cluster and while those new payloads sync is in progress , one of the > existing payload left the cluster and Global discard node received for that > node. > > Because of the new payloads is busy in sync itself , the discard node > cleanup was not done at that moment by the newly joining node and is got > pending , this patch is making sure the pending cleanup of discarded node by > newly joined node , it my under standing ring ? > > -AVM > > On 6/2/2017 8:45 PM, Zoran Milinkovic wrote: >> After removing the clearing of dead implementer, node and admin owner >> vectors, re-executing on vectors will be done after the node is fully synced. >> --- >> src/imm/immnd/ImmModel.cc | 12 ------------ >> 1 file changed, 12 deletions(-) >> >> diff --git a/src/imm/immnd/ImmModel.cc b/src/imm/immnd/ImmModel.cc >> index 25f8621..64a24e9 100644 >> --- a/src/imm/immnd/ImmModel.cc >> +++ b/src/imm/immnd/ImmModel.cc >> @@ -18853,18 +18853,6 @@ SaAisErrorT ImmModel::objectSync(const >> ImmsvOmObjectSync* req) { >> } >> >> objectSyncExit: >> - sImplsDeadDuringSync.clear(); >> - sNodesDeadDuringSync.clear(); >> - sAdmosDeadDuringSync.clear(); >> - /* Clear the "tombstones" for Implementers and Nodes for each sync message >> - received. The tiny hole that we need to plug only exists after the >> - last sync message, when coord sends the finalizeSync message until >> - everyone receives it. Nodes may receive discardImplementer or >> - discardNode messages over fevs before receiving finalizeSync. >> - These nodes/implementers will still be part of the finalizeSync >> - message, causing apparent verification failure in veterans and >> - incorrectly installed implementers in sync clients. >> - */ >> TRACE_LEAVE(); >> return err; >> } ------------------------------------------------------------------------------ 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