[SERVER-56772] Validator BSON is lost if write conflict occurs during collMod Created: 07/May/21 Updated: 29/Oct/23 Resolved: 10/May/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 4.4.7, 5.0.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Nicholas Zolnierz | Assignee: | Nicholas Zolnierz |
| 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: |
v4.9, v4.4
|
||||||||||||
| Participants: | |||||||||||||
| Linked BF Score: | 169 | ||||||||||||
| Description |
|
When collMod'ing a new validator/validationAction, the original validator BSON is std::move'd to update the durable catalog. If a write conflict happens after this, the collMod will retry however the BSON becomes empty and thus checks like this one will not get hit since we early return if the validator object is empty. |
| Comments |
| Comment by Githook User [ 20/May/21 ] |
|
Author: {'name': 'Nick Zolnierz', 'email': 'nicholas.zolnierz@mongodb.com', 'username': 'nzolnierzmdb'}Message: (cherry picked from commit 4a5a29bad42924fb5de2eba5a17b6f8c2fb435ee) |
| Comment by Githook User [ 07/May/21 ] |
|
Author: {'name': 'Nick Zolnierz', 'email': 'nicholas.zolnierz@mongodb.com', 'username': 'nzolnierzmdb'}Message: |