diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e457323dd8..6c2fb4d100a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ ### Bug Fixes +1. [17618](https://github.com/influxdata/influxdb/pull/17618): Add index for URM by user ID to improve lookup performance + ### UI Improvements 1. [17714](https://github.com/influxdata/influxdb/pull/17714): Cloud environments no longer render markdown images, for security reasons. diff --git a/kv/service.go b/kv/service.go index dbc8c179b40..41822bf9018 100644 --- a/kv/service.go +++ b/kv/service.go @@ -79,7 +79,7 @@ func NewService(log *zap.Logger, kv Store, configs ...ServiceConfig) *Service { id, _ := urm.UserID.Encode() return id, nil }, - )), + ), WithIndexReadPathEnabled), disableAuthorizationsForMaxPermissions: func(context.Context) bool { return false }, @@ -115,18 +115,13 @@ func NewService(log *zap.Logger, kv Store, configs ...ServiceConfig) *Service { s.clock = clock.New() } - if s.Config.URMByUserIndexReadPathEnabled { - WithIndexReadPathEnabled(s.urmByUserIndex) - } - return s } // ServiceConfig allows us to configure Services type ServiceConfig struct { - SessionLength time.Duration - Clock clock.Clock - URMByUserIndexReadPathEnabled bool + SessionLength time.Duration + Clock clock.Clock } // AutoMigrationStore is a Store which also describes whether or not diff --git a/kv/urm_test.go b/kv/urm_test.go index 3a41fcc9d08..e09cd5e987c 100644 --- a/kv/urm_test.go +++ b/kv/urm_test.go @@ -28,22 +28,10 @@ func TestBoltUserResourceMappingService(t *testing.T) { influxdbtesting.UserResourceMappingService(initURMServiceFunc(NewTestBoltStore), t) } -func TestBoltUserResourceMappingService_WithUserIndex(t *testing.T) { - influxdbtesting.UserResourceMappingService(initURMServiceFunc(NewTestBoltStore, kv.ServiceConfig{ - URMByUserIndexReadPathEnabled: true, - }), t) -} - func TestInmemUserResourceMappingService(t *testing.T) { influxdbtesting.UserResourceMappingService(initURMServiceFunc(NewTestBoltStore), t) } -func TestInmemUserResourceMappingService_WithUserIndex(t *testing.T) { - influxdbtesting.UserResourceMappingService(initURMServiceFunc(NewTestBoltStore, kv.ServiceConfig{ - URMByUserIndexReadPathEnabled: true, - }), t) -} - type userResourceMappingTestFunc func(influxdbtesting.UserResourceFields, *testing.T) (influxdb.UserResourceMappingService, func()) func initURMServiceFunc(storeFn func(*testing.T) (kv.Store, func(), error), confs ...kv.ServiceConfig) userResourceMappingTestFunc {