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.