valkey-io/valkey

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

Aperta

#560 aperta il 27 mag 2024

 (5 commenti) (0 reazioni) (1 assegnatario)C (1138 fork)batch import
breaking-changebughelp wanted

Metriche repository

Star
 (25.779 stelle)
Metriche merge PR
 (Merge medio 17g 7h) (74 PR mergiate in 30 g)

Descrizione

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.

Guida contributor