diff --git a/pkg/query-service/app/dashboards/model.go b/pkg/query-service/app/dashboards/model.go index 2edf0624ef..398b151399 100644 --- a/pkg/query-service/app/dashboards/model.go +++ b/pkg/query-service/app/dashboards/model.go @@ -287,10 +287,10 @@ func updateFeatureUsage(fm interfaces.FeatureLookup, usage int64) *model.ApiErro } } feature.Usage += usage - if feature.Usage >= feature.UsageLimit { + if feature.Usage >= feature.UsageLimit && feature.UsageLimit != -1 { feature.Active = false } - if feature.Usage < feature.UsageLimit { + if feature.Usage < feature.UsageLimit || feature.UsageLimit == -1 { feature.Active = true } err = fm.UpdateFeatureFlag(feature) @@ -313,7 +313,7 @@ func checkFeatureUsage(fm interfaces.FeatureLookup, usage int64) *model.ApiError return model.BadRequest(err) } } - if feature.UsageLimit-(feature.Usage+usage) < 0 { + if feature.UsageLimit-(feature.Usage+usage) < 0 && feature.UsageLimit != -1 { return model.BadRequest(fmt.Errorf("feature usage exceeded")) } return nil diff --git a/pkg/query-service/rules/manager.go b/pkg/query-service/rules/manager.go index 2c5bd926a1..067e96c033 100644 --- a/pkg/query-service/rules/manager.go +++ b/pkg/query-service/rules/manager.go @@ -411,10 +411,10 @@ func (m *Manager) updateFeatureUsage(parsedRule *PostableRule, usage int64) erro return err } feature.Usage += usage - if feature.Usage == feature.UsageLimit { + if feature.Usage == feature.UsageLimit && feature.UsageLimit != -1 { feature.Active = false } - if feature.Usage < feature.UsageLimit { + if feature.Usage < feature.UsageLimit || feature.UsageLimit == -1 { feature.Active = true } err = m.featureFlags.UpdateFeatureFlag(feature)