Skip to content

Conversation

@Ladicek
Copy link
Member

@Ladicek Ladicek commented Jan 7, 2026

By default, requests that target multiple cluster nodes are rejected. However, if there's a reducer registered for the command, such requests are allowed and are sent to all required cluster nodes. The responses are then combined using the reducer.

Until this commit, there was no guarantee on ordering of the responses, which makes the MGET command relatively useless in the cross-slot scenario. This commit makes sure that ordering of responses is identical to ordering of requests, making cross-slot MGET useful. (There's no other command for which we register a reducer and ordering matters.)

Fixes #537

By default, requests that target multiple cluster nodes are rejected.
However, if there's a reducer registered for the command, such requests
are allowed and are sent to all required cluster nodes. The responses
are then combined using the reducer.

Until this commit, there was no guarantee on ordering of the responses,
which makes the `MGET` command relatively useless in the cross-slot
scenario. This commit makes sure that ordering of responses is identical
to ordering of requests, making cross-slot `MGET` useful. (There's no
other command for which we register a reducer and ordering matters.)
@Ladicek Ladicek added this to the 5.1.0 milestone Jan 7, 2026
@Ladicek Ladicek merged commit 1751cda into vert-x3:master Jan 7, 2026
4 checks passed
@Ladicek Ladicek deleted the cross-slot-response-ordering branch January 7, 2026 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant