diff --git a/src/cluster.c b/src/cluster.c index 6f7f982f..a5ecf84c 100644 --- a/src/cluster.c +++ b/src/cluster.c @@ -5392,7 +5392,8 @@ clusterNode *getNodeByQuery(client *c, struct redisCommand *cmd, robj **argv, in * node is a slave and the request is about an hash slot our master * is serving, we can reply without redirection. */ if (c->flags & CLIENT_READONLY && - cmd->flags & CMD_READONLY && + (cmd->flags & CMD_READONLY || cmd->proc == evalCommand || + cmd->proc == evalShaCommand) && nodeIsSlave(myself) && myself->slaveof == n) {