[SERVER-83783] setting balancer window is prone to user error Created: 01/Dec/23  Updated: 12/Jan/24

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: 4.4.26
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Sean Hyrich Assignee: Backlog - Cluster Scalability
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-81311 Setting a Balancing Window Should Not... Backlog
Assigned Teams:
Cluster Scalability
Participants:

 Description   

while the documentation for setting the balancer window does explicitly instruct the operator to use 2 digit hours, since making a balancer window change is performed via an updateOne() op to the config.settings namespace, accidentally using a single digit hour for the window start can result in the balancer window being set to an undefined state.

Example, when balancer window is:

Atlas [direct: mongos] config> db.settings.find()
[
  {
    _id: 'balancer',
    mode: 'full',
    stopped: false,
    activeWindow: { start: '1:00', end: '10:00' }
  },
  { _id: 'chunksize', value: 64 },
  { _id: 'autosplit', enabled: true }
]

sh.status() shows the following:

...
balancer
{
  'Currently enabled': 'yes',
  'Currently running': 'no',
  'Balancer active window is set between': '1:00 and undefined server local time',
  'Failed balancer rounds in last 5 attempts': 0,
  'Migration Results for the last 24 hours': 'No recent migrations'
}
...

somewhat related: SERVER-81311


Generated at Thu Feb 08 06:53:08 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.