[JAVA-763] Allow configuration of heartbeat background threads to be set via API Created: 20/Feb/13  Updated: 07/Mar/14  Resolved: 07/Mar/14

Status: Closed
Project: Java Driver
Component/s: API, Cluster Management, Configuration
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major - P3
Reporter: Ian Daniel Assignee: Jeffrey Yemin
Resolution: Duplicate Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates JAVA-1139 Allow configuration of heartbeat back... Closed

 Description   

The Java driver, as of version 2.9.0, supports automatic failover of mongos instances (JAVA-381). The parameters that determine the wait time when the active mongos becomes unavailable, until choosing a new mongos, are only available as system properties. They cannot be set directly via the driver API. This ticket is to add API support for directly specifying the failover timeout value.

For the record, the relevant system properties, and their default values, are:

updaterIntervalMS = Integer.parseInt(System.getProperty("com.mongodb.updaterIntervalMS", "5000"));
updaterIntervalNoMasterMS = Integer.parseInt(System.getProperty("com.mongodb.updaterIntervalNoMasterMS", "10"));
mongoOptionsDefaults.connectTimeout = Integer.parseInt(System.getProperty("com.mongodb.updaterConnectTimeoutMS", "20000"));
mongoOptionsDefaults.socketTimeout = Integer.parseInt(System.getProperty("com.mongodb.updaterSocketTimeoutMS", "20000"));

The maximum time to failover to a new mongos is:

Sum of: <com.mongodb.updaterIntervalMS> + max(com.mongodb.updaterSocketTimeoutMS, com.mongodb.updaterConnectTimeoutMS, ping time) for each mongos

The new options are:

  • MongoClientOptions#getHeartbeatFrequency
  • MongoClientOptions#getHeartbeatConnectRetryFrequency
  • MongoClientOptions#getHeartbeatConnectTimeout
  • MongoClientOptions#getHeartbeatSocketTimeout
  • MongoClientOptions#getHeartbeatThreadCount


 Comments   
Comment by Jeffrey Yemin [ 07/Mar/14 ]

Replacing this with an epic so that the 2.12 issue can be closed

Comment by Jeffrey Yemin [ 18/Aug/13 ]

The new options will be:

  • MongoClientOptions#getHeartbeatFrequency
  • MongoClientOptions#getHeartbeatConnectRetryFrequency
  • MongoClientOptions#getHeartbeatConnectTimeout
  • MongoClientOptions#getHeartbeatSocketTimeout
  • MongoClientOptions#getHeartbeatThreadCount
Generated at Thu Feb 08 08:53:01 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.