@@ -51,6 +51,7 @@ const StaticString
51
51
s_MongoDBDriverManager_slaveok (" slaveok" ),
52
52
s_MongoDBDriverManager_readpreference (" readpreference" ),
53
53
s_MongoDBDriverManager_readpreferencetags (" readpreferencetags" ),
54
+ s_MongoDBDriverManager_maxstalenessms (" maxstalenessms" ),
54
55
s_MongoDBDriverManager_readPreference (" readPreference" ),
55
56
s_MongoDBDriverManager_readPreferenceTags (" readPreferenceTags" ),
56
57
s_MongoDBDriverManager_maxStalenessMS (" maxStalenessMS" ),
@@ -135,6 +136,7 @@ static bool hippo_mongo_driver_manager_apply_rp(mongoc_uri_t *uri, const Array o
135
136
!options.exists (s_MongoDBDriverManager_slaveok) &&
136
137
!options.exists (s_MongoDBDriverManager_readpreference) &&
137
138
!options.exists (s_MongoDBDriverManager_readpreferencetags) &&
139
+ !options.exists (s_MongoDBDriverManager_maxstalenessms) &&
138
140
!options.exists (s_MongoDBDriverManager_readPreference) &&
139
141
!options.exists (s_MongoDBDriverManager_readPreferenceTags) &&
140
142
!options.exists (s_MongoDBDriverManager_maxStalenessMS)
@@ -197,15 +199,23 @@ static bool hippo_mongo_driver_manager_apply_rp(mongoc_uri_t *uri, const Array o
197
199
}
198
200
199
201
/* Handle maxStalenessMS, and make sure it is not combined with PRIMARY readPreference */
200
- if (options.exists (s_MongoDBDriverManager_maxStalenessMS) && options[s_MongoDBDriverManager_maxStalenessMS].isInteger ()) {
202
+ if (
203
+ (options.exists (s_MongoDBDriverManager_maxstalenessms) && options[s_MongoDBDriverManager_maxstalenessms].isInteger ())
204
+ ||
205
+ (options.exists (s_MongoDBDriverManager_maxStalenessMS) && options[s_MongoDBDriverManager_maxStalenessMS].isInteger ())
206
+ ) {
201
207
if (mongoc_read_prefs_get_mode (new_rp) == MONGOC_READ_PRIMARY) {
202
208
throw MongoDriver::Utils::throwInvalidArgumentException (" Primary read preference mode conflicts with maxStalenessMS" );
203
209
mongoc_read_prefs_destroy (new_rp);
204
210
205
211
return false ;
206
212
}
207
213
208
- mongoc_read_prefs_set_max_staleness_ms (new_rp, (int32_t ) options[s_MongoDBDriverManager_maxStalenessMS].toInt64 ());
214
+ if (options.exists (s_MongoDBDriverManager_maxstalenessms)) {
215
+ mongoc_read_prefs_set_max_staleness_ms (new_rp, (int32_t ) options[s_MongoDBDriverManager_maxstalenessms].toInt64 ());
216
+ } else {
217
+ mongoc_read_prefs_set_max_staleness_ms (new_rp, (int32_t ) options[s_MongoDBDriverManager_maxStalenessMS].toInt64 ());
218
+ }
209
219
}
210
220
211
221
/* This may be redundant in light of the check for primary with tags,
0 commit comments