microsoft / garnet

Garnet is a remote cache-store from Microsoft Research that offers strong performance (throughput and latency), scalability, storage, recovery, cluster sharding, key migration, and replication features. Garnet can work with existing Redis clients.
https://microsoft.github.io/garnet/
MIT License
9.71k stars 459 forks source link

unexpected result in hgetall with RESP3 #491

Closed mperham closed 10 hours ago

mperham commented 4 days ago

Describe the bug

I'm using Ruby's redis-client gem to connect to Garnet.

Redis is properly returning a Hash, whereas Garnet is unexpectedly returning an Array.

Steps to reproduce the bug

> gem install redis-client
> irb
require "redis-client"
c = RedisClient.new
c.call "hset", "foo", "bar", "mike"
c.call "hgetall", "foo"
{"bar"=>"mike"} # Redis 7.2.3
["bar", "mike"] # Garnet main

Expected behavior

No response

Screenshots

No response

Release version

main

IDE

No response

OS version

No response

Additional context

No response

badrishc commented 10 hours ago

We are adding per-operator RESP3 support on an incremental and on-demand basis. Have covered HGETALL in the linked PR.