envoyproxy/envoy

redis: Send TRYAGAIN if key not found in MGET request

Open

#31.038 aberto em 24 de nov. de 2023

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)C++ (5.373 forks)batch import
area/redisenhancementhelp wanted

Métricas do repositório

Stars
 (27.997 stars)
Métricas de merge de PR
 (Mesclagem média 8d) (378 fundiu PRs em 30d)

Description

Title: Send TRYAGAIN if key not found in MGET request

Description:

When an MGET request is issued, redis_proxy send GET request on each key and collects the response here.

As per redis cluster spec here , if a hash slot is in migrating state and if any of the keys are not found, the response to the downstream client should be TRYAGAIN.

We run redis_proxy on server side, however it seems this part of the code is common if redis_proxy is executed on client or server side. In this case the redis server needs to respond with TRYAGAIN for the MGET request but today individual GET request prohibits this behavior.

Guia do colaborador