Zanzana: Support more cache configuration options (#107155)

This commit is contained in:
Mihai Turdean
2025-07-10 19:51:02 +00:00
committed by GitHub
parent 06c00e4fa7
commit a3af6023c3
4 changed files with 82 additions and 10 deletions
@@ -32,9 +32,21 @@ func NewOpenFGAServer(cfg setting.ZanzanaServerSettings, store storage.OpenFGADa
opts := []server.OpenFGAServiceV1Option{
server.WithDatastore(store),
server.WithLogger(zlogger.New(logger)),
server.WithCheckQueryCacheEnabled(cfg.CheckQueryCache),
server.WithCheckQueryCacheTTL(cfg.CheckQueryCacheTTL),
server.WithCheckCacheLimit(cfg.CacheSettings.CheckCacheLimit),
server.WithCacheControllerEnabled(cfg.CacheSettings.CacheControllerEnabled),
server.WithCacheControllerTTL(cfg.CacheSettings.CacheControllerTTL),
server.WithCheckQueryCacheEnabled(cfg.CacheSettings.CheckQueryCacheEnabled),
server.WithCheckQueryCacheTTL(cfg.CacheSettings.CheckQueryCacheTTL),
server.WithCheckIteratorCacheEnabled(cfg.CacheSettings.CheckIteratorCacheEnabled),
server.WithCheckIteratorCacheMaxResults(cfg.CacheSettings.CheckIteratorCacheMaxResults),
server.WithCheckIteratorCacheTTL(cfg.CacheSettings.CheckIteratorCacheTTL),
server.WithListObjectsMaxResults(cfg.ListObjectsMaxResults),
server.WithListObjectsIteratorCacheEnabled(cfg.CacheSettings.ListObjectsIteratorCacheEnabled),
server.WithListObjectsIteratorCacheMaxResults(cfg.CacheSettings.ListObjectsIteratorCacheMaxResults),
server.WithListObjectsIteratorCacheTTL(cfg.CacheSettings.ListObjectsIteratorCacheTTL),
server.WithSharedIteratorEnabled(cfg.CacheSettings.SharedIteratorEnabled),
server.WithSharedIteratorLimit(cfg.CacheSettings.SharedIteratorLimit),
server.WithSharedIteratorTTL(cfg.CacheSettings.SharedIteratorTTL),
server.WithListObjectsDeadline(cfg.ListObjectsDeadline),
}
+1 -1
View File
@@ -62,7 +62,7 @@ func NewServer(cfg setting.ZanzanaServerSettings, openfga OpenFGAServer, logger
storesMU: &sync.Mutex{},
stores: make(map[string]storeInfo),
cfg: cfg,
cache: localcache.New(cfg.CheckQueryCacheTTL, cacheCleanInterval),
cache: localcache.New(cfg.CacheSettings.CheckQueryCacheTTL, cacheCleanInterval),
logger: logger,
tracer: tracer,
}
@@ -178,7 +178,7 @@ func (s *Server) listObjects(ctx context.Context, req *openfgav1.ListObjectsRequ
fn = s.streamedListObjects
}
if s.cfg.CheckQueryCache {
if s.cfg.CacheSettings.CheckQueryCacheEnabled {
return s.listObjectCached(ctx, req, fn)
}