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:[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