Zanzana: Lazy load cached store info (#96452)
* Lazy load cached store infos
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"sync"
|
||||
|
||||
authzv1 "github.com/grafana/authlib/authz/proto/v1"
|
||||
@@ -25,19 +24,16 @@ var _ authzextv1.AuthzExtentionServiceServer = (*Server)(nil)
|
||||
|
||||
var tracer = otel.Tracer("github.com/grafana/grafana/pkg/services/authz/zanzana/server")
|
||||
|
||||
var errStoreNotFound = errors.New("store not found")
|
||||
var errAuthorizationModelNotInitialized = errors.New("authorization model not initialized")
|
||||
|
||||
type Server struct {
|
||||
authzv1.UnimplementedAuthzServiceServer
|
||||
authzextv1.UnimplementedAuthzExtentionServiceServer
|
||||
|
||||
openfga openfgav1.OpenFGAServiceServer
|
||||
|
||||
logger log.Logger
|
||||
modules []transformer.ModuleFile
|
||||
storeMap map[string]storeInfo
|
||||
storeLock *sync.Mutex
|
||||
logger log.Logger
|
||||
modules []transformer.ModuleFile
|
||||
stores map[string]storeInfo
|
||||
storesMU *sync.Mutex
|
||||
}
|
||||
|
||||
type storeInfo struct {
|
||||
@@ -65,9 +61,9 @@ func NewAuthzServer(cfg *setting.Cfg, openfga openfgav1.OpenFGAServiceServer) (*
|
||||
|
||||
func NewAuthz(openfga openfgav1.OpenFGAServiceServer, opts ...ServerOption) (*Server, error) {
|
||||
s := &Server{
|
||||
openfga: openfga,
|
||||
storeLock: &sync.Mutex{},
|
||||
storeMap: make(map[string]storeInfo),
|
||||
openfga: openfga,
|
||||
storesMU: &sync.Mutex{},
|
||||
stores: make(map[string]storeInfo),
|
||||
}
|
||||
|
||||
for _, o := range opts {
|
||||
|
||||
Reference in New Issue
Block a user