[SERVER-57487] Update chunks during setFCV 4.4 «--» 5.0 must not block balancing for long periods Created: 07/Jun/21  Updated: 29/Oct/23  Resolved: 04/Aug/21

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: 5.0.0-rc1
Fix Version/s: 5.0.3

Type: Improvement Priority: Major - P3
Reporter: Pierlauro Sciarelli Assignee: Pierlauro Sciarelli
Resolution: Fixed Votes: 0
Labels: sharding-wfbf-day
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
Backwards Compatibility: Fully Compatible
Backport Requested:
v5.0
Sprint: Sharding EMEA 2021-07-26, Sharding EMEA 2021-08-09
Participants:

 Description   

As discovered during the investigation of SERVER-57309, the update of config.chunks entries during setFCV - happening under the chunk operations lock - may block migrations for long periods in presence of a lot of chunks.

Following, the results of some simple downgrade/upgrade experiments with different number of chunks (executed on the virtual workstation):

  downgrade downgrade upgrade upgrade
update operation
number of chunks
$set ns $unset uuid & timestamp $set uuid & timestamp $unset ns
100K 32 s 27 s 22 s 31 s
500K 180 s 164 s 117 s 144 s
1M 324 s 313 s 211 s 271 s

A possible improvement to reduce the window in which balancing is not allowed would be to perform the $unset operations outside such lock, but still during setFCV.



 Comments   
Comment by Githook User [ 04/Aug/21 ]

Author:

{'name': 'Pierlauro Sciarelli', 'email': 'pierlauro.sciarelli@mongodb.com', 'username': 'pierlauro'}

Message: SERVER-57487 Update chunks during setFCV 4.4 «--» 5.0 must not block balancing for long periods
Branch: v5.0
https://github.com/mongodb/mongo/commit/de7f9aebf552c1be98810da080017136af1f160f

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