[SERVER-38678] Drop X locks from manipulations to admin database Created: 17/Dec/18 Updated: 29/Oct/23 Resolved: 30/Dec/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication, Security, Storage |
| Affects Version/s: | None |
| Fix Version/s: | 4.8.1 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Spencer Jackson | Assignee: | Backlog - Security Team |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Server Security
|
| Backwards Compatibility: | Fully Compatible |
| Participants: |
| Description |
|
Writes to collections in the admin database imply taking an X lock on the entire database, rather than just the collection. This enforces serialization of writes between admin.system.users and admin.system.roles, and prevents the RoleGraph from being informed of multiple updates in parallel. The elevated strength of the locks prevents transactions from working on the admin database. |