From bbe187b230465b66efc3214bd39bcfb2c4540157 Mon Sep 17 00:00:00 2001 From: capossele <angelocapossele@gmail.com> Date: Wed, 10 Jun 2020 21:16:50 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A5=20Delete=20finalized=20conflicts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../analysis/dashboard/fpc_conflictRecord.go | 11 +++++++++++ plugins/analysis/dashboard/fpc_livefeed.go | 19 +++++++++++++++---- plugins/banner/plugin.go | 2 +- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/plugins/analysis/dashboard/fpc_conflictRecord.go b/plugins/analysis/dashboard/fpc_conflictRecord.go index be7c3487..9b8dc3c2 100644 --- a/plugins/analysis/dashboard/fpc_conflictRecord.go +++ b/plugins/analysis/dashboard/fpc_conflictRecord.go @@ -13,6 +13,17 @@ func newConflictRecord() *conflictRecord { } } +func (cr *conflictRecord) cleanUp() { + cr.lock.Lock() + defer cr.lock.Unlock() + + for id, conflict := range cr.conflictSet { + if conflict.isFinalized() { + delete(cr.conflictSet, id) + } + } +} + func (cr *conflictRecord) ToFPCUpdate() *FPCUpdate { cr.lock.RLock() defer cr.lock.RUnlock() diff --git a/plugins/analysis/dashboard/fpc_livefeed.go b/plugins/analysis/dashboard/fpc_livefeed.go index 187004bb..ec782cd5 100644 --- a/plugins/analysis/dashboard/fpc_livefeed.go +++ b/plugins/analysis/dashboard/fpc_livefeed.go @@ -55,10 +55,21 @@ func runFPCLiveFeed() { fpcLiveFeedWorkerPool.Start() defer fpcLiveFeedWorkerPool.Stop() - <-shutdownSignal - log.Info("Stopping Analysis[FPCUpdater] ...") - analysis.Events.FPCHeartbeat.Detach(onFPCHeartbeatReceived) - log.Info("Stopping Analysis[FPCUpdater] ... done") + cleanUpTicker := time.NewTicker(1 * time.Minute) + + for { + select { + case <-shutdownSignal: + log.Info("Stopping Analysis[FPCUpdater] ...") + analysis.Events.FPCHeartbeat.Detach(onFPCHeartbeatReceived) + cleanUpTicker.Stop() + log.Info("Stopping Analysis[FPCUpdater] ... done") + case <-cleanUpTicker.C: + log.Info("Cleaning up Finalized Conflicts ...") + recordedConflicts.cleanUp() + log.Info("Cleaning up Finalized Conflicts ... done") + } + } }, shutdown.PriorityDashboard); err != nil { log.Panicf("Failed to start as daemon: %s", err) } diff --git a/plugins/banner/plugin.go b/plugins/banner/plugin.go index 08963564..1f0936a6 100644 --- a/plugins/banner/plugin.go +++ b/plugins/banner/plugin.go @@ -14,7 +14,7 @@ var Plugin = node.NewPlugin(PluginName, node.Enabled, configure, run) const ( // AppVersion version number - AppVersion = "v0.666.0" + AppVersion = "v0.2.0" // AppName app code name AppName = "GoShimmer" -- GitLab