return error when etcd terminates unexpectedly
diff --git a/syncer/etcd/agent.go b/syncer/etcd/agent.go
index bd45b2e..4462f47 100644
--- a/syncer/etcd/agent.go
+++ b/syncer/etcd/agent.go
@@ -18,6 +18,7 @@
package etcd
import (
+ "errors"
"github.com/apache/servicecomb-service-center/pkg/log"
"github.com/apache/servicecomb-service-center/syncer/servicecenter"
"github.com/coreos/etcd/embed"
@@ -43,10 +44,16 @@
return err
}
select {
+ // Be returns when the server is readied
case <-etcd.Server.ReadyNotify():
log.Info("ready notify")
+
+ // Be returns when the server is stopped
case <-etcd.Server.StopNotify():
- log.Info("stop notify")
+ err := errors.New("unknown error cause start etcd failed, check etcd")
+ log.Error("stop notify", err)
+ return err
+
case err = <-etcd.Err():
log.Error("start etcd failed", err)
return err