[JAVA-1015] Allow configuration of heartbeat background threads to be set via API Created: 14/Oct/13  Updated: 03/Apr/14  Resolved: 12/Nov/13

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

Type: New Feature Priority: Major - P3
Reporter: Jeffrey Yemin Assignee: Jeffrey Yemin
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Duplicate
is duplicated by JAVA-731 Make system properties used by replic... Closed
Epic Link: Allow configuration of heartbeat background threads to be set via API

 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 auto [ 12/Nov/13 ]

Author:

{u'username': u'jyemin', u'name': u'Jeff Yemin', u'email': u'jeff.yemin@10gen.com'}

Message: JAVA-1015, JAVA-1016: Added heartbeat background thread configuration and acceptable latency difference configuration to MongoClientOptions.

Conflicts:
src/main/com/mongodb/DBTCPConnector.java
Branch: master
https://github.com/mongodb/mongo-java-driver/commit/eaef3d69fd6be9f311fee1b4e84aff8eea58f00f

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