From 5774a8e066663fea91920e799d717429071c3387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Podg=C3=B3rski?= Date: Wed, 10 Feb 2021 19:39:05 +0100 Subject: [PATCH] Do not stop etcd server before closing --- api.go | 5 ++--- etcd/embed.go | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/api.go b/api.go index 929611681..c99875207 100644 --- a/api.go +++ b/api.go @@ -117,6 +117,7 @@ var validAPIMethods = map[disco.ClusterState]map[apiMethod]struct{}{ disco.ClusterStateNormal: appendMap(methodsCommon, methodsNormal), disco.ClusterStateDegraded: appendMap(methodsCommon, methodsDegraded), disco.ClusterStateResizing: appendMap(methodsCommon, methodsResizing), + disco.ClusterStateDown: methodsCommon, } func appendMap(a, b map[apiMethod]struct{}) map[apiMethod]struct{} { @@ -2226,6 +2227,7 @@ const ( var methodsCommon = map[apiMethod]struct{}{ apiClusterMessage: {}, + apiState: {}, } var methodsResizing = map[apiMethod]struct{}{ @@ -2233,7 +2235,6 @@ var methodsResizing = map[apiMethod]struct{}{ apiTranslateData: {}, apiResizeAbort: {}, apiSchema: {}, - apiState: {}, } var methodsDegraded = map[apiMethod]struct{}{ @@ -2249,7 +2250,6 @@ var methodsDegraded = map[apiMethod]struct{}{ apiRemoveNode: {}, apiShardNodes: {}, apiSchema: {}, - apiState: {}, apiViews: {}, apiStartTransaction: {}, apiFinishTransaction: {}, @@ -2279,7 +2279,6 @@ var methodsNormal = map[apiMethod]struct{}{ apiRemoveNode: {}, apiShardNodes: {}, apiSchema: {}, - apiState: {}, apiViews: {}, apiApplySchema: {}, apiStartTransaction: {}, diff --git a/etcd/embed.go b/etcd/embed.go index b50f74a1d..b4d08dc04 100644 --- a/etcd/embed.go +++ b/etcd/embed.go @@ -107,7 +107,6 @@ func (e *Etcd) Close() error { if e.heartbeatCancel != nil { e.heartbeatCancel() } - e.e.Server.Stop() e.e.Close() <-e.e.Server.StopNotify() } @@ -823,7 +822,7 @@ func (e *Etcd) leaseKeepAlive(ttl int64) (clientv3.LeaseID, func(context.Context if cli, err := e.client(); err != nil { log.Printf("leaseKeepAlive: creates a new client: %v\n", err) } else { - if _, err := cli.Revoke(context.TODO(), leaseResp.ID); err != nil { + if _, err := cli.Revoke(context.Background(), leaseResp.ID); err != nil { log.Printf("leaseKeepAlive: revokes the lease (ID: %x): %v\n", leaseResp.ID, err) } cli.Close()