Closed
Description
Pavel Khokhlov opened DATAREDIS-1005 and commented
Current implementation of JedisClusterConnection doesn't support Eval & EvalSha commands
(see: https://redis.io/commands/eval, https://redis.io/commands/evalsha)
The reason is class:
org.springframework.data.redis.connection.jedis.JedisClusterScriptingCommands
do not have implementations of required commands:
@Override
public <T> T eval(byte[] script, ReturnType returnType, int numKeys, byte[]... keysAndArgs) {
throw new InvalidDataAccessApiUsageException("Eval is not supported in cluster environment.");
}
@Override
public <T> T evalSha(String scriptSha, ReturnType returnType, int numKeys, byte[]... keysAndArgs) {
throw new InvalidDataAccessApiUsageException("EvalSha is not supported in cluster environment.");
}
Eval & EvalSha commands has to be implemented.
For now we have an exception:
org.springframework.dao.InvalidDataAccessApiUsageException: EvalSha is not supported in cluster environment.
at org.springframework.data.redis.connection.jedis.JedisClusterScriptingCommands.evalSha(JedisClusterScriptingCommands.java:83)
at org.springframework.data.redis.connection.DefaultedRedisConnection.evalSha(DefaultedRedisConnection.java:1440)
at jdk.internal.reflect.GeneratedMethodAccessor611.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.data.redis.core.CloseSuppressingInvocationHandler.invoke(CloseSuppressingInvocationHandler.java:61)
at com.sun.proxy.$Proxy179.evalSha(Unknown Source)
at org.springframework.data.redis.core.script.DefaultScriptExecutor.eval(DefaultScriptExecutor.java:77)
at org.springframework.data.redis.core.script.DefaultScriptExecutor.lambda$execute$0(DefaultScriptExecutor.java:68)
at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:227)
Affects: 2.1.9 (Lovelace SR9), 2.2 RC2 (Moore)
Referenced from: pull request #460, and commits e9b5e6e, 988a7e7
2 votes, 2 watchers