exq icon indicating copy to clipboard operation
exq copied to clipboard

RPOPLPUSH not supported when use envoy as a proxy

Open bighunter513 opened this issue 1 year ago • 4 comments

when I connect to a proxy use envoy to aws redis cluster, I encountered the problem: Redis Error [error: {:error, {%Redix.Error{message: "unsupported command 'RPOPLPUSH'"}

I checked redis doc, it suggest use LMOVE to replace LPOPRPUSH , and I tried out it was ok behind envoy so can you add LMOVE support later ?

` redis-cli -p 7480 ## which connect to envoy 1.30

127.0.0.1:7480> RPUSH {list}:list1 "one" (integer) 1 127.0.0.1:7480> RPUSH {list}:list1 "two" (integer) 2 127.0.0.1:7480> RPUSH {list}:list1 "three" (integer) 3 127.0.0.1:7480> LMOVE {list}:list1 {list}:list2 LEFT RIGHT "one" 127.0.0.1:7480> LMOVE {list}:list1 {list}:list2 RIGHT LEFT "three"`

bighunter513 avatar Jun 05 '24 11:06 bighunter513

Since this was not supported before 6.2, we would have to drop support for <6.2. I don't know how many users still use <6.2.

ananthakumaran avatar Jun 05 '24 12:06 ananthakumaran

Since this was not supported before 6.2, we would have to drop support for <6.2. I don't know how many users still use <6.2.

maybe add a option to let user choose ? or use tag version ?

bighunter513 avatar Jun 06 '24 02:06 bighunter513

maybe add a option to let user choose ?

This may be better, I am open to a PR

Also, can you expand a bit on the problem. is it an issue on envoy or redis itself doesn't support it?

ananthakumaran avatar Jun 06 '24 03:06 ananthakumaran

maybe add a option to let user choose ?

This may be better, I am open to a PR

Also, can you expand a bit on the problem. is it an issue on envoy or redis itself doesn't support it?

Redis doesn't support it, you can check this doc https://redis.io/docs/latest/commands/rpoplpush/

As of Redis version 6.2.0, this command is regarded as deprecated. It can be replaced by LMOVE with the RIGHT and LEFT arguments when migrating or writing new code.

bighunter513 avatar Sep 27 '24 02:09 bighunter513