From 22561bcdfca868047c37d4d3924c8f6bce08b8a2 Mon Sep 17 00:00:00 2001 From: yangzhouhan Date: Mon, 10 Aug 2015 11:17:24 -0700 Subject: [PATCH] return error when create etcdNR fails --- naming/etcd/etcd.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/naming/etcd/etcd.go b/naming/etcd/etcd.go index e9b60107..f9ee2759 100644 --- a/naming/etcd/etcd.go +++ b/naming/etcd/etcd.go @@ -73,12 +73,11 @@ type etcdNR struct { cancel context.CancelFunc } -// NewETCDNR creates an etcd NameResolver -func NewETCDNR(cfg etcdcl.Config) naming.Resolver { +// NewETCDNR creates an etcd NameResolver. +func NewETCDNR(cfg etcdcl.Config) (naming.Resolver, error) { c, err := etcdcl.New(cfg) if err != nil { - log.Fatalf("NewETCDNR(_) failed: %v", err) - return nil + return nil, err } kAPI := etcdcl.NewKeysAPI(c) ctx, cancel := context.WithCancel(context.Background()) @@ -87,10 +86,10 @@ func NewETCDNR(cfg etcdcl.Config) naming.Resolver { recv: newRecvBuffer(), ctx: ctx, cancel: cancel, - } + }, nil } -// getNode builds the resulting key-value map starting from node recursively +// getNode builds the resulting key-value map starting from node recursively. func getNode(node *etcdcl.Node, res map[string]string) { if !node.Dir { res[node.Key] = node.Value