AuthZService: improve authz caching #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Test 2
Replicated from ai-code-review-evaluation/grafana-cursor#2
Note
Adds a cached-permission fast path and explicit denial cache to RBAC checks/lists, updates metrics, and refactors RBAC client creation to use authzlib with configurable cache.
permDenialCachewith keyuserPermDenialCacheKey(...)to short-circuit known denials inCheck.getCachedIdentityPermissionsand use it inCheckandListto return on cache hit before DB calls.permCache/idCachebehavior.metrics.permissionCacheUsageand request counters to reflect cache hits/misses.getUserPermissions/getAnonymousPermissions(handled centrally viagetCachedIdentityPermissions).pkg/services/authz/rbac.go):newRBACClientwith directauthzlib.NewClientusage.NoopCache; remote client uses local cache with TTLs; tracer wired via option.Check.Written by Cursor Bugbot for commit d9dc93c. Configure here.