[SERVER-64552] Replace invariant with assertion for non-joinable rename collection participants Created: 16/Mar/22 Updated: 29/Oct/23 Resolved: 21/Mar/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | 5.0.5, 5.2.1, 5.3.0-rc3 |
| Fix Version/s: | 5.3.2, 6.0.0-rc0, 5.0.7, 5.2.2 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Pierlauro Sciarelli | Assignee: | Pierlauro Sciarelli |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Operating System: | ALL | ||||
| Backport Requested: |
v5.3, v5.2, v5.0
|
||||
| Sprint: | Sharding EMEA 2022-04-04 | ||||
| Participants: | |||||
| Description |
|
Replace this invariant with an assertion in order not to bring down a node in case an old network request reaches a participant. |
| Comments |
| Comment by Githook User [ 05/Apr/22 ] | |||
|
Author: {'name': 'Pierlauro Sciarelli', 'email': 'pierlauro.sciarelli@mongodb.com', 'username': 'pierlauro'}Message: | |||
| Comment by Githook User [ 22/Mar/22 ] | |||
|
Author: {'name': 'Pierlauro Sciarelli', 'email': 'pierlauro.sciarelli@mongodb.com', 'username': 'pierlauro'}Message: | |||
| Comment by Githook User [ 22/Mar/22 ] | |||
|
Author: {'name': 'Pierlauro Sciarelli', 'email': 'pierlauro.sciarelli@mongodb.com', 'username': 'pierlauro'}Message: | |||
| Comment by Githook User [ 21/Mar/22 ] | |||
|
Author: {'name': 'Pierlauro Sciarelli', 'email': 'pierlauro.sciarelli@mongodb.com', 'username': 'pierlauro'}Message: | |||
| Comment by Pierlauro Sciarelli [ 21/Mar/22 ] | |||
|
The original description of this ticket was wrongly stating that the "phase" field of rename participant documents was part of the comparison performed to join an existing participant. This turns out not to be the case since the comparison happens only on the rename collection request. I was misled because the invariant was hit with the following documents (the only difference is the phase):
The real root of the problem, instead, is most probably |