From 851f486ff83daad831a52356bcf40828ddfc267e Mon Sep 17 00:00:00 2001 From: Philip O'Toole Date: Thu, 2 Feb 2017 23:38:39 -0800 Subject: [PATCH] Make waiting for logs optional --- cmd/rqlited/main.go | 2 +- store/store.go | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/cmd/rqlited/main.go b/cmd/rqlited/main.go index bd91ccb9..e5901601 100644 --- a/cmd/rqlited/main.go +++ b/cmd/rqlited/main.go @@ -106,7 +106,7 @@ func init() { flag.BoolVar(&showVersion, "version", false, "Show version information and exit") flag.StringVar(&raftHeartbeatTimeout, "rafttimeout", "1s", "Raft heartbeat timeout") flag.StringVar(&raftApplyTimeout, "raftapplytimeout", "10s", "Raft apply timeout") - flag.StringVar(&raftOpenTimeout, "raftopentimeout", "120s", "Time to wait for initial Raft logs to be applied") + flag.StringVar(&raftOpenTimeout, "raftopentimeout", "120s", "Time for initial Raft logs to be applied. Use 0s duration to skip wait.") flag.Uint64Var(&raftSnapThreshold, "raftsnap", 8192, "Number of outstanding log entries that trigger snapshot") flag.StringVar(&cpuProfile, "cpuprofile", "", "Path to file for CPU profiling information") flag.StringVar(&memProfile, "memprofile", "", "Path to file for memory profiling information") diff --git a/store/store.go b/store/store.go index 00e277c9..d0149539 100644 --- a/store/store.go +++ b/store/store.go @@ -259,9 +259,14 @@ func (s *Store) Open(enableSingle bool) error { } s.raft = ra - // Wait until the initial logs are applied. - if err := s.WaitForAppliedIndex(s.raft.LastIndex(), s.OpenTimeout); err != nil { - return ErrOpenTimeout + if s.OpenTimeout != 0 { + // Wait until the initial logs are applied. + s.logger.Printf("waiting for up to %s for application of initial logs", s.OpenTimeout) + if err := s.WaitForAppliedIndex(s.raft.LastIndex(), s.OpenTimeout); err != nil { + return ErrOpenTimeout + } + } else { + s.logger.Println("not waiting for application of initial logs") } return nil