1
0
Fork 0

Make waiting for logs optional

master
Philip O'Toole 8 years ago
parent 03899af510
commit 851f486ff8

@ -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")

@ -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

Loading…
Cancel
Save