valkey-io/valkey

[BUG] PUBSUB SHARDNUMSUB doesn't return -CROSSSLOT for cross slot shard-channels

Aberta

#560 aberto em 27 de mai. de 2024

 (5 comentários) (0 reação) (1 responsável)C (1.138 forks)batch import
breaking-changebughelp wanted

Métricas do repositório

Stars
 (25.779 estrelas)
Métricas de merge de PR
 (Mesclagem média 17d 7h) (74 fundiu PRs em 30d)

Description

Describe the bug

In cluster mode, calling this command with two channels mapping to different slots, like PUBSUB SHARDNUMSUB ch1 ch2, succeeds. It should return a -CROSSSLOT error, like any command with keys of two different slots.

To reproduce

Call the command with two channels mapping to the same node, but different cluster slots.

Expected behavior

-CROSSSLOT error reply.

Additional information

I believe it's enough to add a key specification in the command's JSON file under src/commands/. That would make the generic machinery for cluster crosslot detect the error early and return an error.

Guia do colaborador