-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Currently, the in memory structure storing the sizes and counts is guarded by one single mutex. Writes to all collections will need to serialize there. To reduce contention, we would want to divide the in-memory store into 16 stripes. The least significant 4 bits of the UUID will be used to map to the stripe number.
The design of bucket catalog stripes can be used as an example.
The existing APIs should be updated accordingly with the striped in-memory store. Util functions should be created accordingly to abstract away the indirect access.