akira/exq

RPOPLPUSH not supported when use envoy as a proxy

bighunter513 opened this issue · 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"`

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.

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 ?

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?