[CDRIVER-3130] Allow specification of minHeartbeatFrequencyMS for wrapping drivers Created: 14/May/19  Updated: 31/Mar/22

Status: Backlog
Project: C Driver
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Patrick Freed Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
related to PHPLIB-587 Reduce heartbeatFrequencyMS below 500... Backlog

 Description   

In the retryable reads spec, it notes that lowering the minHeartbetFrequencyMS can speed up the tests quite a bit, and the c driver actually does this for its tests. Unfortunately, another spec forbids drivers from allowing users (and therefore wrapping drivers) to modify this value.

The difference is pretty significant, though. For example, the retryable writes tests take about 40 seconds to run on my macbook with the default minHeartbeatFrequencyMS. With it set to 50, they take about 10 seconds.

Would it be possible to expose some undocumented way of lowering this value for wrapping drivers?  



 Comments   
Comment by Jeremy Mikola [ 21/Aug/19 ]

Note: as temporary work-around for faster test builds, the relevant constant to modify is MONGOC_TOPOLOGY_MIN_HEARTBEAT_FREQUENCY_MS in src/libmongoc/src/mongoc/mongoc-topology-private.h.

Comment by Kevin Albertson [ 20/May/19 ]

patrick.freed to double check, would having a build flag to disable the enforcement of the minHeartbeatFrequencyMS minimum value suffice? This would require building libmongoc from source, but is that okay for your testing environment?

Generated at Wed Feb 07 21:17:12 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.