From 039929bfef8bb35d047fe240b4bdca3d26fcd878 Mon Sep 17 00:00:00 2001 From: Ryan Wynn Date: Mon, 14 Jan 2019 04:45:45 +0000 Subject: [PATCH] fix for issue #153 --- monstache.go | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/monstache.go b/monstache.go index 4adc8ad..3483aea 100644 --- a/monstache.go +++ b/monstache.go @@ -3793,9 +3793,6 @@ func main() { if err != nil { panic(fmt.Sprintf("Unable to determine enabled cluster process: %s", err)) } - if !enabled { - config.DirectReadNs = stringargs{} - } } gtmBufferDuration, err := time.ParseDuration(config.GtmSettings.BufferDuration) if err != nil { @@ -3984,6 +3981,19 @@ func main() { } } infoLog.Println("Listening for events") + if config.ClusterName != "" && !enabled { + gtmCtx.Pause() + bulk.Stop() + for range heartBeat.C { + enabled, err = enableProcess(mongo, config) + if enabled { + infoLog.Printf("Resuming work for cluster %s", config.ClusterName) + bulk.Start(context.Background()) + resumeWork(gtmCtx, mongo, config) + break + } + } + } for { select { case timeout := <-doneC: @@ -4016,6 +4026,15 @@ func main() { infoLog.Printf("Pausing work for cluster %s", config.ClusterName) gtmCtx.Pause() bulk.Stop() + for range heartBeat.C { + enabled, err = enableProcess(mongo, config) + if enabled { + infoLog.Printf("Resuming work for cluster %s", config.ClusterName) + bulk.Start(context.Background()) + resumeWork(gtmCtx, mongo, config) + break + } + } } } else { enabled, err = enableProcess(mongo, config)