[SERVER-53502] Consider introducing fine grained chunk locks Created: 23/Dec/20  Updated: 06/Dec/22  Resolved: 07/Jan/21

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Minor - P4
Reporter: Pierlauro Sciarelli Assignee: [DO NOT USE] Backlog - Sharding Team
Resolution: Duplicate Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-33326 Remove use of applyOps/doTxn from sha... Closed
Assigned Teams:
Sharding
Participants:

 Description   

With the work done under SERVER-53468 it, the global chunk lock can potentially be held for long periods during upgrade/downgrade resulting in chunk operations slowing down or timing out on all collections.

As an optimization, consider if it would be better to introduce a more fine grained chunk locking mechanism (per collection). The idea is to synchronize the access to subsets of documents of config.chunks that contains the chunk entries for all namespaces.



 Comments   
Comment by Kaloian Manassiev [ 07/Jan/21 ]

Instead of just reducing the granularity of chunk locks, we should do that entire work when we switch the update of the routing information to use transactions instead of applyOps as tracked in SERVER-33326.

Generated at Thu Feb 08 05:31:07 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.