envoyproxy/envoy

redis: Send TRYAGAIN if key not found in MGET request

Open

#31.038 geöffnet am 24. Nov. 2023

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)C++ (5.373 Forks)batch import
area/redisenhancementhelp wanted

Repository-Metriken

Stars
 (27.997 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)

Beschreibung

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.

Contributor Guide