127.0.0.1:6379> CLIENT TRACKING ON
OK
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> get a
"1"
------------------- in another terminal, open redis-cli and run: set a 2
127.0.0.1:6379> get a
Error: Protocol error, got ">" as reply type byte
This happened on redis 6.0.0 today's release. Using redis-cli on mac.
Comment From: madolson
Any chance you have any more information about this issue? Anyway to consistently reproduce?
Comment From: hwware
This looks like a protocol error, I can reproduce it for redis 6.0.0 old release. The reason of this error was caused because in that release Hiredis and redis-cli doesn't support RESP3 push message yet. I assume in your second client, it also enables client tracking and setting protocol to resp3. when the key "a" was modified in other clients, server will send a PUSH invalidation message and that caused the issue. However in latest version I could not reproduce this issue due to the work @michael-grunder did on hiredis recently. thanks!
Comment From: oranagra
@hwware by latest you mean unstable right? why does it matter if the second client also enabled client tracking?
@andreastoyota did you enable RESP3 (i.e. HELLO 3) on the first client, the one that enabled tracking?
It's a known fact that in 6.0 redis-cli didn't yet support RESP3 push messages, and at the moment it's still not released in any 6.0.x release (only in unstable).
if that's the case, i suppose we can close this issue, right?
Comment From: hwware
@oranagra yes I tested in unstable branch. Oh sorry i saw it wrong, before I thought the user output (including the error ) after long dash all happened in second client. later I found user mentioned second client only run "set a 2". :) If so second client doesn't need to enable client tracking.