[DRIVERS-209] Change minHeartbeatFrequencyMS from 10 to 500 Created: 18/Mar/15  Updated: 15/Apr/19  Resolved: 18/Mar/16

Status: Closed
Project: Drivers
Component/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: A. Jesse Jiryu Davis Assignee: Barrie Segal
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on CXX-568 Change minHeartbeatFrequencyMS from 1... Closed
depends on CDRIVER-585 Change minHeartbeatFrequencyMS from 1... Closed
depends on CSHARP-1196 Change minHeartbeatFrequencyMS from 1... Closed
depends on CXX-566 Change minHeartbeatFrequencyMS from 1... Closed
depends on NODE-392 Change minHeartbeatFrequencyMS from 1... Closed
depends on PHPC-184 Change minHeartbeatFrequencyMS from 1... Closed
depends on PYTHON-866 Change MIN_HEARTBEAT_INTERVAL from 10... Closed
depends on RUBY-879 Change minHeartbeatFrequencyMS from 1... Closed
Related
Driver Compliance:
Key Status/Resolution FixVersion
NODE-392 Done 2.0.23
CXX-566 Won't Fix
PYTHON-866 Done 3.0
PERL-514 Done
RUBY-879 Done 12_01_17
CSHARP-1196 Done 2.0
PHPC-184 Done 0.4.0
CDRIVER-585 Done 1.2-beta0
PHP-1415 Won't Fix
CXX-568 Done

 Description   

The Server Discovery And Monitoring Spec has been updated: minHeartbeatFrequencyMS has changed from 10 ms to 500 ms. It is still not configurable (unless you're the Java Driver and you had a knob before the spec was written).

Based on recent experiences with replica set reconfig in MMS, and experiments performed with the Java Driver and MongoDB 3.0, we've decided that 500 ms is a safer value than 10 ms.

If a secondary is underpowered and collocated with other processes, then a huge number of clients calling ismaster every 10 ms might be able to make it less responsive, or delay the election, by overwhelming it while awaiting an election. The 500 ms number prevents a storm without unduly delaying the clients' notification when the election completes.

https://github.com/mongodb/specifications/commit/32901d

Future work may change this number again, or mandate exponential backoff, or rearchitect the method by which servers notify clients of topology changes.



 Comments   
Comment by Rathi Gnanasekaran [ 18/Mar/16 ]

All related language tickets closed or validated.

Comment by Andrew Morrow (Inactive) [ 09/Apr/15 ]

NOTE: The legacy C++ driver is validated here, but does not contain a fix for this issue as it does not implement the relevant specifications.

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