2

Have some code written with redisson in mine spring-boot application, which works with my local redis server version 5+. But once apllication pushed to PCF and trying to use redisson lock - I do get next error:

org.redisson.client.RedisException: ERR unknown command `EVAL`, with args beginning with: `if (redis.call('exists', KEYS[1]) == 0) then redis.call('hset', KEYS[1], ARGV[2], 1); redis.call('pexpire', KEYS[1], ARGV[1]); r`, . channel: [id: 0x63facc9b, L:/10.248.253.128:35276 - R:xxxxx:xxxx] command: (EVAL), params: [if (redis.call('exists', KEYS[1]) == 0) then redis.call('hset', KEYS[1], ARGV[2], 1);

Possible reasons that I was able to find were:

  1. Low redis server version, which is not mine case.
  2. Some Redis Cloud providers might not support EVAL command for redis, which is mandatory for redisson. The most relevant topic I was able to find is this one, but still I am not familiar enough with this technology stack.

So generally I have question, If someone has experience using redisson with PCF Redis On-Demand Service, and maybe can help me understand the issue.

Redisson version is 3.12.0

UPDATE1; Worked on other PCF instance with Redis On-Demand service, so issue is definitely in Redis On-Demand configuration. Just to confirm you can use Redisson on PCF.

Oleg Kuts
  • 769
  • 1
  • 13
  • 26
  • Just to confirm, you were definitely using an on-demand service instance? PCF Redis also has a shared plan, which does disable some commands for security reasons. There is also an older pre-provisioned plan that's similar to on-demand, don't use that. It's just getting very old at this point. Also, what's your specific PCF Redis Tile version? – Daniel Mikusa May 11 '20 at 13:08
  • @DanielMikusa that is good set of questions and info. Unfortunately I have very limited access to PCF account, so I don't know neither Tile version nor if it was shared plan or not. But these questions is something I can start to check from, thanks. – Oleg Kuts May 11 '20 at 13:46
  • 1
    You can figure out if it's shared or on-demand by looking at `cf m` or look at the service marketplace in Apps Manager. The service plan should indicate some details and it should tell you enough to determine if it's shared or on-demand. The tile version you would have to get from your ops team. – Daniel Mikusa May 11 '20 at 15:22
  • @OlegKuts Did the issue get resolved .. I am also facing same issue .. Please let me know. – Sahil Arora Oct 15 '20 at 12:31

0 Answers0