From 6fcaa13e0b2e38ac561baf7a9690b5bc50b8e8d5 Mon Sep 17 00:00:00 2001 From: Alex Vanin Date: Thu, 29 Oct 2020 19:04:17 +0300 Subject: [PATCH] [#132] Flag all gracefully shutdown nodes in cleaner cache Signed-off-by: Alex Vanin --- pkg/innerring/processors/netmap/process_peers.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/innerring/processors/netmap/process_peers.go b/pkg/innerring/processors/netmap/process_peers.go index b8da13078..6420bdd14 100644 --- a/pkg/innerring/processors/netmap/process_peers.go +++ b/pkg/innerring/processors/netmap/process_peers.go @@ -41,7 +41,7 @@ func (np *Processor) processAddPeer(node []byte) { } } -// Process new epoch tick by invoking new epoch method in network map contract. +// Process update peer notification by sending approval tx to the smart contract. func (np *Processor) processUpdatePeer(ev netmapEvent.UpdatePeer) { if !np.activeState.IsActive() { np.log.Info("passive mode, ignore new epoch tick") @@ -57,6 +57,10 @@ func (np *Processor) processUpdatePeer(ev netmapEvent.UpdatePeer) { return } + // flag node to remove from local view, so it can be re-bootstrapped + // again before new epoch will tick + np.netmapSnapshot.flag(ev.PublicKey().String()) + err := invoke.UpdatePeerState(np.morphClient, np.netmapContract, &invoke.UpdatePeerArgs{ Key: ev.PublicKey(),