From b3ee4f534ef2a39f4355ce5bd90e24e56c8ff4a6 Mon Sep 17 00:00:00 2001 From: Travis Groth Date: Thu, 25 Jun 2020 13:13:37 -0400 Subject: [PATCH] cache: fix missing parameter (#1005) * cache: fix missing parameter * cache: get number of members from NumMembers() --- cache/memberlist.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/cache/memberlist.go b/cache/memberlist.go index 409540942..2c1e8a638 100644 --- a/cache/memberlist.go +++ b/cache/memberlist.go @@ -8,6 +8,7 @@ import ( "io" stdlog "log" "strings" + "time" "github.com/hashicorp/memberlist" "github.com/rs/zerolog" @@ -53,12 +54,15 @@ func (c *Cache) runMemberList(ctx context.Context) error { return fmt.Errorf("memberlist: failed to join cluster: %w", err) } - mh.log.Info().Int("joined", joined).Interface("members", mh.memberlist.Members()).Msg("joined nodes") - if joined > 1 { + mh.log.Info().Int("contacted", joined).Interface("members", mh.memberlist.Members()).Msg("contacted nodes") + if mh.memberlist.NumMembers() > 1 { mh.log.Error().Msg("multiple cache servers not supported") } <-ctx.Done() - mh.memberlist.Leave() + err = mh.memberlist.Leave(1 * time.Second) + if err != nil { + mh.log.Error().Err(err).Msg("failed to leave cluster") + } return mh.memberlist.Shutdown() } @@ -66,7 +70,7 @@ func (mh *memberlistHandler) NotifyJoin(node *memberlist.Node) { mh.log.Debug().Interface("node", node).Msg("node joined") go func() { - if mh.memberlist != nil && len(mh.memberlist.Members()) > 1 { + if mh.memberlist != nil && mh.memberlist.NumMembers() > 1 { mh.log.Error().Msg("detected multiple cache servers, which is not supported") } }()