From 7ca88fa8f186ee30139182fe160ffae752d43f4f Mon Sep 17 00:00:00 2001 From: Ajeet D'Souza <98ajeet@gmail.com> Date: Fri, 23 Oct 2020 19:50:16 +0530 Subject: [PATCH 1/2] Fix race condition --- worker/groups.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/worker/groups.go b/worker/groups.go index ff5a22d9c3f..462d6c24b27 100644 --- a/worker/groups.go +++ b/worker/groups.go @@ -1052,11 +1052,11 @@ func EnterpriseEnabled() bool { return false } g := groups() + g.RLock() + defer g.RUnlock() if g.state == nil { return g.askZeroForEE() } - g.RLock() - defer g.RUnlock() return g.state.GetLicense().GetEnabled() } From cb5f4e5aefb4723b8c09820e9db08fe296d9464f Mon Sep 17 00:00:00 2001 From: Ajeet D'Souza <98ajeet@gmail.com> Date: Mon, 2 Nov 2020 15:15:53 +0530 Subject: [PATCH 2/2] Use GetMembershipState --- worker/groups.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/worker/groups.go b/worker/groups.go index 462d6c24b27..4fc6ea32b34 100644 --- a/worker/groups.go +++ b/worker/groups.go @@ -1051,13 +1051,11 @@ func EnterpriseEnabled() bool { if !enc.EeBuild { return false } - g := groups() - g.RLock() - defer g.RUnlock() - if g.state == nil { - return g.askZeroForEE() + state := GetMembershipState() + if state == nil { + return groups().askZeroForEE() } - return g.state.GetLicense().GetEnabled() + return state.GetLicense().GetEnabled() } func (g *groupi) askZeroForEE() bool {