-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: 4.4.0, 5.0.0, 6.0.0, 7.1.0-rc0, 7.0.0-rc4
-
Component/s: None
-
Catalog and Routing
-
Fully Compatible
-
v7.3, v7.2, v7.0, v6.0, v5.0
-
Sharding EMEA 2023-05-15, CAR Team 2024-01-22, CAR Team 2024-02-05, CAR Team 2024-02-19
-
200
-
3
The split command may return an error to the user when the execution succeeds.
That's an example:
- User sends split command to the router.
- Router processes the user info and gets the chunk range to be splitted and the split points.
- Router sends _configsvrCommitChunkSplit command to the config server with the info processed.
- Config server succeeds but the router doesn't receive the response.
- Router retries _configsvrCommitChunkSplit command.
- Config server returns an error because it can't find a chunk within the given range since it was already splitted. (v6.0 sends another error, but the result is the same).
- Router returns an error to the user.
To enable idempotency on _configsvrCommitChunkSplit a check should be placed on the split commit: first check if a chunk with the given range exists, if not, check if there are chunks with the given split points as boundaries.
- related to
-
SERVER-92191 Make router split command idempotent with a middle split
- Backlog
-
SERVER-51805 Split Chunk operation is not idempotent
- Closed