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.

貢獻者指南