Putting this years to make sure to investigate the issue reported. From the ML (and thanks to Ben Malec for the message):
Pulled down the RC4 source and compiled under CentOS 8. No problems compiling, redis-server starts up just fine.
I connect two clients to the Redis server using telnet. Running the CLIENT ID command in each telnet session yields :4 and :5, respectively.
I enable RESP3 in each of the clients (HELLO 3)
I then turn on client tracking broadcast in each client (CLIENT TRACKING ON BCAST)
If I set a key value in the first client, I receive an invalidation message in client #2, as expected.
But if I set a different key in the second client, I don't see an invalidation message in the client #1, but I DO see an invalidation message in client #2 (which is bad because client #2 would immediately evict the value it just wrote from it's local cache)
If I add a third client to the mix, then:
- key updates from the first client only result in invalidation messages in the third client.
- key updates from the second client only result in invalidation messages in the third client
- key updates from the third client generate invalidation messages only in the third client
This doesn't seem correct, has anyone else experienced this?
Thanks :-)