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:[email protected]] Sent: den 5 juni 2017 07:13 To: Zoran Milinkovic <[email protected]> Cc: [email protected] 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 [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
