RESP3 Issues
Possible User Error Sanity Check
If RESP3 is not activated automatically within NewMiniRedis() this is 100% user error and can be closed. Please inform me of how to activate if so.
If Not User Error
Steps To Reproduce
func Test_GetStuffAndThings(t *testing.T) {
rdb := miniredis.NewMiniRedis()
miniredis.Start()
defer t.Cleanup
FuncSeedDB()
FuncDoStuff() - This method runs a lua script using a go-redis client setup using "tcp" and rdb.Addr()
}
Error Encountered
Within FuncCall() I am checking the lua returned interface for a nil value, if so returns "script returned empty handed" and the interface return, which indeed has no values. (I debugging and confirmed)
- I am able to ping the server and receive a PONG response and no errors, so I ruled out the server not being open.
- The lua scripts first call is redis.setresp(3)
I also manually checked to see if data available to pull, verified this is this case.
Additional Checks
I have verified my go functions and lua scripts are both functional against a local, VM, and cloud hosted databases, so it is not the code.
Hi @oAnubis,
thanks for your issue. I'll have a proper look soon, but IIRC you need to do a HELLO 3 command to enable RESP3
https://redis.io/commands/hello/
Hi @oAnubis, thanks for your issue. I'll have a proper look soon, but IIRC you need to do a
HELLO 3command to enable RESP3 https://redis.io/commands/hello/
Thank you for the prompt reply.
I tried the HELLO 3 command, no changes in outcome.
I ran some more debugging and cross referencing the source code, I think this may a compatibility with the redis.setresp(3) command inside the lua script. This is where the errors traceback to.
ok, do you maybe have a small reproducing test program?
There's no setresp string in miniredis, so it looks like the function is simply not there. That would explain :)
There's no
setrespstring in miniredis, so it looks like the function is simply not there. That would explain :)
That definitely makes sense! I wonder how difficult that would be to implement
Additionally,
The error received back when running Hello 3 is can't parse "%7"
Having the same issue after upgrading redis/go-redis to v9 (where they introduced RESP3)
Got error after switch to rueidis
error create rueidis unknown subcommand 'TRACKING'. Try CLIENT HELP.: ClientOption.DisableCache must be true for redis not supporting client-side caching or not supporting RESP3
I forgot about this issue, will check soonish. Thanks!