mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Remotecache: rename setbytearray/getbytearray to set/get and remove codec (#64470)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
This commit is contained in:
@@ -96,5 +96,5 @@ func (a *AnonSessionService) TagSession(ctx context.Context, httpReq *http.Reque
|
||||
|
||||
a.localCache.SetDefault(key, struct{}{})
|
||||
|
||||
return a.remoteCache.SetByteArray(ctx, key, []byte(key), thirtyDays)
|
||||
return a.remoteCache.Set(ctx, key, []byte(key), thirtyDays)
|
||||
}
|
||||
|
||||
@@ -171,7 +171,7 @@ func (ks *keySetHTTP) getJWKS(ctx context.Context) (keySetJWKS, error) {
|
||||
var jwks keySetJWKS
|
||||
|
||||
if ks.cacheExpiration > 0 {
|
||||
if val, err := ks.cache.GetByteArray(ctx, ks.cacheKey); err == nil {
|
||||
if val, err := ks.cache.Get(ctx, ks.cacheKey); err == nil {
|
||||
err := json.Unmarshal(val, &jwks)
|
||||
return jwks, err
|
||||
}
|
||||
@@ -200,7 +200,7 @@ func (ks *keySetHTTP) getJWKS(ctx context.Context) (keySetJWKS, error) {
|
||||
}
|
||||
|
||||
if ks.cacheExpiration > 0 {
|
||||
err = ks.cache.SetByteArray(ctx, ks.cacheKey, jsonBuf.Bytes(), ks.cacheExpiration)
|
||||
err = ks.cache.Set(ctx, ks.cacheKey, jsonBuf.Bytes(), ks.cacheExpiration)
|
||||
}
|
||||
return jwks, err
|
||||
}
|
||||
|
||||
@@ -50,8 +50,8 @@ func ProvideProxy(cfg *setting.Cfg, cache proxyCache, userSrv user.Service, clie
|
||||
}
|
||||
|
||||
type proxyCache interface {
|
||||
GetByteArray(ctx context.Context, key string) ([]byte, error)
|
||||
SetByteArray(ctx context.Context, key string, value []byte, expire time.Duration) error
|
||||
Get(ctx context.Context, key string) ([]byte, error)
|
||||
Set(ctx context.Context, key string, value []byte, expire time.Duration) error
|
||||
}
|
||||
|
||||
type Proxy struct {
|
||||
@@ -83,7 +83,7 @@ func (c *Proxy) Authenticate(ctx context.Context, r *authn.Request) (*authn.Iden
|
||||
if ok {
|
||||
// See if we have cached the user id, in that case we can fetch the signed-in user and skip sync.
|
||||
// Error here means that we could not find anything in cache, so we can proceed as usual
|
||||
if entry, err := c.cache.GetByteArray(ctx, cacheKey); err == nil {
|
||||
if entry, err := c.cache.Get(ctx, cacheKey); err == nil {
|
||||
uid := int64(binary.LittleEndian.Uint64(entry))
|
||||
|
||||
usr, err := c.userSrv.GetSignedInUserWithCacheCtx(ctx, &user.GetSignedInUserQuery{
|
||||
@@ -138,7 +138,7 @@ func (c *Proxy) Hook(ctx context.Context, identity *authn.Identity, r *authn.Req
|
||||
c.log.FromContext(ctx).Debug("Cache proxy user", "userId", id)
|
||||
bytes := make([]byte, 8)
|
||||
binary.LittleEndian.PutUint64(bytes, uint64(id))
|
||||
if err := c.cache.SetByteArray(ctx, identity.ClientParams.CacheAuthProxyKey, bytes, time.Duration(c.cfg.AuthProxySyncTTL)*time.Minute); err != nil {
|
||||
if err := c.cache.Set(ctx, identity.ClientParams.CacheAuthProxyKey, bytes, time.Duration(c.cfg.AuthProxySyncTTL)*time.Minute); err != nil {
|
||||
c.log.Warn("failed to cache proxy user", "error", err, "userId", id)
|
||||
}
|
||||
|
||||
|
||||
@@ -181,10 +181,10 @@ type fakeCache struct {
|
||||
expectedItem []byte
|
||||
}
|
||||
|
||||
func (f fakeCache) GetByteArray(ctx context.Context, key string) ([]byte, error) {
|
||||
func (f fakeCache) Get(ctx context.Context, key string) ([]byte, error) {
|
||||
return f.expectedItem, f.expectedErr
|
||||
}
|
||||
|
||||
func (f fakeCache) SetByteArray(ctx context.Context, key string, value []byte, expire time.Duration) error {
|
||||
func (f fakeCache) Set(ctx context.Context, key string, value []byte, expire time.Duration) error {
|
||||
return f.expectedErr
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ func TestInitContextWithAuthProxy_CachedInvalidUserID(t *testing.T) {
|
||||
|
||||
t.Logf("Injecting stale user ID in cache with key %q", key)
|
||||
userIdPayload := []byte(strconv.FormatInt(int64(33), 10))
|
||||
err = svc.RemoteCache.SetByteArray(context.Background(), key, userIdPayload, 0)
|
||||
err = svc.RemoteCache.Set(context.Background(), key, userIdPayload, 0)
|
||||
require.NoError(t, err)
|
||||
|
||||
authEnabled := svc.initContextWithAuthProxy(ctx, orgID)
|
||||
@@ -67,7 +67,7 @@ func TestInitContextWithAuthProxy_CachedInvalidUserID(t *testing.T) {
|
||||
require.Equal(t, userID, ctx.SignedInUser.UserID)
|
||||
require.True(t, ctx.IsSignedIn)
|
||||
|
||||
cachedByteArray, err := svc.RemoteCache.GetByteArray(context.Background(), key)
|
||||
cachedByteArray, err := svc.RemoteCache.Get(context.Background(), key)
|
||||
require.NoError(t, err)
|
||||
|
||||
cacheUserId, err := strconv.ParseInt(string(cachedByteArray), 10, 64)
|
||||
|
||||
@@ -191,7 +191,7 @@ func (auth *AuthProxy) getUserViaCache(reqCtx *contextmodel.ReqContext) (int64,
|
||||
return 0, err
|
||||
}
|
||||
auth.logger.Debug("Getting user ID via auth cache", "cacheKey", cacheKey)
|
||||
cachedValue, err := auth.remoteCache.GetByteArray(reqCtx.Req.Context(), cacheKey)
|
||||
cachedValue, err := auth.remoteCache.Get(reqCtx.Req.Context(), cacheKey)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
@@ -353,7 +353,7 @@ func (auth *AuthProxy) Remember(reqCtx *contextmodel.ReqContext, id int64) error
|
||||
}
|
||||
|
||||
// Check if user already in cache
|
||||
cachedValue, err := auth.remoteCache.GetByteArray(reqCtx.Req.Context(), key)
|
||||
cachedValue, err := auth.remoteCache.Get(reqCtx.Req.Context(), key)
|
||||
if err == nil && len(cachedValue) != 0 {
|
||||
return nil
|
||||
}
|
||||
@@ -361,7 +361,7 @@ func (auth *AuthProxy) Remember(reqCtx *contextmodel.ReqContext, id int64) error
|
||||
expiration := time.Duration(auth.cfg.AuthProxySyncTTL) * time.Minute
|
||||
|
||||
userIdPayload := []byte(strconv.FormatInt(id, 10))
|
||||
if err := auth.remoteCache.SetByteArray(reqCtx.Req.Context(), key, userIdPayload, expiration); err != nil {
|
||||
if err := auth.remoteCache.Set(reqCtx.Req.Context(), key, userIdPayload, expiration); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ func TestMiddlewareContext(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
key := fmt.Sprintf(CachePrefix, h)
|
||||
userIdPayload := []byte(strconv.FormatInt(id, 10))
|
||||
err = cache.SetByteArray(context.Background(), key, userIdPayload, 0)
|
||||
err = cache.Set(context.Background(), key, userIdPayload, 0)
|
||||
require.NoError(t, err)
|
||||
// Set up the middleware
|
||||
auth, reqCtx := prepareMiddleware(t, cache, nil)
|
||||
@@ -84,7 +84,7 @@ func TestMiddlewareContext(t *testing.T) {
|
||||
require.NoError(t, err)
|
||||
key := fmt.Sprintf(CachePrefix, h)
|
||||
userIdPayload := []byte(strconv.FormatInt(id, 10))
|
||||
err = cache.SetByteArray(context.Background(), key, userIdPayload, 0)
|
||||
err = cache.Set(context.Background(), key, userIdPayload, 0)
|
||||
require.NoError(t, err)
|
||||
|
||||
auth, reqCtx := prepareMiddleware(t, cache, func(req *http.Request, cfg *setting.Cfg) {
|
||||
|
||||
@@ -21,7 +21,7 @@ type RenderUser struct {
|
||||
}
|
||||
|
||||
func (rs *RenderingService) GetRenderUser(ctx context.Context, key string) (*RenderUser, bool) {
|
||||
val, err := rs.RemoteCacheService.GetByteArray(ctx, fmt.Sprintf(renderKeyPrefix, key))
|
||||
val, err := rs.RemoteCacheService.Get(ctx, fmt.Sprintf(renderKeyPrefix, key))
|
||||
if err != nil {
|
||||
rs.log.Error("Failed to get render key from cache", "error", err)
|
||||
}
|
||||
@@ -46,7 +46,7 @@ func setRenderKey(cache *remotecache.RemoteCache, ctx context.Context, opts Auth
|
||||
return err
|
||||
}
|
||||
|
||||
return cache.SetByteArray(ctx, fmt.Sprintf(renderKeyPrefix, renderKey), buf.Bytes(), expiry)
|
||||
return cache.Set(ctx, fmt.Sprintf(renderKeyPrefix, renderKey), buf.Bytes(), expiry)
|
||||
}
|
||||
|
||||
func generateAndSetRenderKey(cache *remotecache.RemoteCache, ctx context.Context, opts AuthOpts, expiry time.Duration) (string, error) {
|
||||
|
||||
Reference in New Issue
Block a user