envoyproxy/envoy

redis: Send TRYAGAIN if key not found in MGET request

Open

#31,038 opened on 2023年11月24日

GitHub で見る
 (1 comment) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/redisenhancementhelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (平均マージ 8d) (30d で 378 merged PRs)

説明

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.

コントリビューターガイド