-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Internal Code
-
None
-
Fully Compatible
-
v7.0
-
Server Serverless 2023-04-17, Server Serverless 2023-05-01
-
129
NamespaceString is one of the core datatypes of the system. It is widely used for authorization checks, logging, resource locking, etc. Ongoing changes have led to the NamespaceString class to grow from 40 bytes to 88 bytes and based on this patch build it appears the performance is sensitive to changes only to the size of the data structure (e.g. 8-9% throughput drop for linkbench2).
The addition of the DatabaseName class as a member variable to NamespaceString is what accounts for the additional 48 bytes. We should explore different memory layouts for TenantId, DatabaseName, and NamespaceString to have the system be more efficient.
- is related to
-
SERVER-74849 CommandInvocation: Don't re-parse NamespaceString and copy it repeatedly
- Closed
-
SERVER-75117 Avoid NamespaceString copies when possible
- Closed
-
SERVER-74848 Addess recent performance regressions in mixed workloads
- Closed
-
SERVER-64608 Add tenantID to NamespaceString
- Closed
-
SERVER-66963 Improve performance of NamespaceString and DatabaseName construction
- Closed
- related to
-
SERVER-77228 Improve memory layout of NamespaceStringOrUUID
- Closed