fix: update fixed limit once streams ownership re-checked (#13231)

Signed-off-by: Vladyslav Diachenko <vlad.diachenko@grafana.com>
pull/13232/head^2
Vladyslav Diachenko 11 months ago committed by GitHub
parent 1086783a1d
commit 7ac19f00b4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 1
      pkg/ingester/recalculate_owned_streams.go
  2. 6
      pkg/ingester/recalculate_owned_streams_test.go

@ -64,6 +64,7 @@ func (s *recalculateOwnedStreams) recalculate() {
if err != nil {
level.Error(s.logger).Log("msg", "failed to update owned streams", "err", err)
}
instance.ownedStreamsSvc.updateFixedLimit()
}
}

@ -83,6 +83,7 @@ func Test_recalculateOwnedStreams_recalculate(t *testing.T) {
nil,
)
require.NoError(t, err)
require.Equal(t, 100, tenant.ownedStreamsSvc.getFixedLimit(), "MaxGlobalStreamsPerUser is 100 at this moment")
// not owned streams
createStream(t, tenant, 49)
createStream(t, tenant, 101)
@ -100,9 +101,14 @@ func Test_recalculateOwnedStreams_recalculate(t *testing.T) {
mockTenantsSupplier := &mockTenantsSuplier{tenants: []*instance{tenant}}
service := newRecalculateOwnedStreams(mockTenantsSupplier.get, "ingester-0", mockRing, 50*time.Millisecond, log.NewNopLogger())
//change the limit to assert that fixed limit is updated after the recalculation
limits.DefaultLimits().MaxGlobalStreamsPerUser = 50
service.recalculate()
if testData.featureEnabled {
require.Equal(t, 50, tenant.ownedStreamsSvc.getFixedLimit(), "fixed limit must be updated after recalculation")
}
require.Equal(t, testData.expectedOwnedStreamCount, tenant.ownedStreamsSvc.ownedStreamCount)
require.Equal(t, testData.expectedNotOwnedStreamCount, tenant.ownedStreamsSvc.notOwnedStreamCount)
})

Loading…
Cancel
Save