envoyproxy/envoy

redis: Send TRYAGAIN if key not found in MGET request

Open

#31,038 创建于 2023年11月24日

在 GitHub 查看
 (1 评论) (0 反应) (0 负责人)C++ (5,373 fork)batch import
area/redisenhancementhelp wanted

仓库指标

Star
 (27,997 star)
PR 合并指标
 (平均合并 8天) (30 天内合并 378 个 PR)

描述

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.

贡献者指南