From 14e475d8afb7a6986d5b38e9129945b69832e466 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Wed, 27 Jan 2021 11:08:30 +0300 Subject: [PATCH] Fixed - eval command executed on Redis cluster doesn't use key for master/slave selection. #3370 --- .../src/main/java/org/redisson/RedissonScript.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/redisson/src/main/java/org/redisson/RedissonScript.java b/redisson/src/main/java/org/redisson/RedissonScript.java index 16fb57491..3dc282811 100644 --- a/redisson/src/main/java/org/redisson/RedissonScript.java +++ b/redisson/src/main/java/org/redisson/RedissonScript.java @@ -82,12 +82,20 @@ public class RedissonScript implements RScript { @Override public R eval(Mode mode, String luaScript, ReturnType returnType, List keys, Object... values) { - return eval(null, mode, luaScript, returnType, keys, values); + String key = null; + if (!keys.isEmpty()) { + key = (String) keys.get(0); + } + return eval(key, mode, luaScript, returnType, keys, values); } @Override public RFuture evalAsync(Mode mode, String luaScript, ReturnType returnType, List keys, Object... values) { - return evalAsync(null, mode, luaScript, returnType, keys, values); + String key = null; + if (!keys.isEmpty()) { + key = (String) keys.get(0); + } + return evalAsync(key, mode, luaScript, returnType, keys, values); } @Override