[SERVER-81790] Make ValidatedTenancyScope a required parameter of IDLParseContext Created: 03/Oct/23 Updated: 23/Jan/24 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Matt Broadstone | Assignee: | Backlog - Service Architecture |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | ntdi_code_quality | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Service Arch
|
||||||||
| Participants: | |||||||||
| Story Points: | 4 | ||||||||
| Description |
|
In order to ensure that the tenancy scope is always considered when parsing database strings (NamespaceString, DatabaseName), we should improve the IDlParserContext to require a ValidatedTenancyScope parameter. This means we must always have access to an opCtx, or have stashed a ValidatedTenancyScope somewhere convenient, before attempting to parse BSON into an IDL shape. There are valid use cases for not using a ValidatedTenancyScope when parsing, but by making the parameter required we force users to explicitly mark the cases where we don't care about tenant domain while parsing (a good example is in unit tests). |