[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: |
|
||||||||||||
| 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? |