From 431034c8f46ab64bc0fe16452368d33aafae796f Mon Sep 17 00:00:00 2001
From: Philip O'Toole <philip.otoole@yahoo.com>
Date: Thu, 11 Jun 2015 01:23:30 -0700
Subject: [PATCH] Wait for Raft leader even when cluster exists

---
 cmd/influxd/run/server.go | 7 -------
 meta/store.go             | 1 +
 2 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/cmd/influxd/run/server.go b/cmd/influxd/run/server.go
index 315bd91d25..955bd16fdf 100644
--- a/cmd/influxd/run/server.go
+++ b/cmd/influxd/run/server.go
@@ -336,13 +336,6 @@ func (s *Server) Close() error {
 // startServerReporting starts periodic server reporting.
 func (s *Server) startServerReporting() {
 	for {
-		for {
-			time.Sleep(time.Second)
-			if s.MetaStore.Leader() != "" {
-				break
-			}
-		}
-
 		s.reportServer()
 		<-time.After(24 * time.Hour)
 	}
diff --git a/meta/store.go b/meta/store.go
index d9eec111e9..be608cc159 100644
--- a/meta/store.go
+++ b/meta/store.go
@@ -186,6 +186,7 @@ func (s *Store) Open() error {
 	if s.id == 0 {
 		go s.init()
 	} else {
+		s.waitForLeader(10 * time.Second)
 		close(s.ready)
 	}