Skip to content

Commit dfe7afa

Browse files
author
Thomas Reggi
authored
fix: ReadPreference maxStalenessSeconds from options
NODE-2678
1 parent d728a13 commit dfe7afa

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

lib/core/topologies/read_preference.js

+5-7
Original file line numberDiff line numberDiff line change
@@ -101,21 +101,19 @@ const VALID_MODES = [
101101
* @return {ReadPreference}
102102
*/
103103
ReadPreference.fromOptions = function(options) {
104+
if (!options) return null;
104105
const readPreference = options.readPreference;
106+
if (!readPreference) return null;
105107
const readPreferenceTags = options.readPreferenceTags;
106-
107-
if (readPreference == null) {
108-
return null;
109-
}
110-
108+
const maxStalenessSeconds = options.maxStalenessSeconds;
111109
if (typeof readPreference === 'string') {
112110
return new ReadPreference(readPreference, readPreferenceTags);
113111
} else if (!(readPreference instanceof ReadPreference) && typeof readPreference === 'object') {
114112
const mode = readPreference.mode || readPreference.preference;
115113
if (mode && typeof mode === 'string') {
116114
return new ReadPreference(mode, readPreference.tags, {
117-
maxStalenessSeconds: readPreference.maxStalenessSeconds,
118-
hedge: options.hedge
115+
maxStalenessSeconds: readPreference.maxStalenessSeconds || maxStalenessSeconds,
116+
hedge: readPreference.hedge
119117
});
120118
}
121119
}

0 commit comments

Comments
 (0)