# maxStalenessSeconds is applied before tag sets. With tag sets # [{data_center: nyc}, {data_center: tokyo}], if the only secondary in NYC is # stale then use Tokyo. --- heartbeatFrequencyMS: 25000 # 25 seconds. topology_description: type: ReplicaSetWithPrimary servers: - &1 address: a:27017 type: RSPrimary avg_rtt_ms: 5 lastUpdateTime: 0 lastWrite: {lastWriteDate: {$numberLong: "125002"}} maxWireVersion: 5 - &2 address: b:27017 type: RSSecondary avg_rtt_ms: 5 lastUpdateTime: 0 lastWrite: {lastWriteDate: {$numberLong: "2"}} maxWireVersion: 5 tags: data_center: tokyo - &3 address: c:27017 type: RSSecondary avg_rtt_ms: 5 lastUpdateTime: 0 lastWrite: {lastWriteDate: {$numberLong: "1"}} # Too stale. maxWireVersion: 5 tags: data_center: nyc read_preference: mode: Secondary maxStalenessSeconds: 150 tag_sets: - data_center: nyc - data_center: tokyo suitable_servers: - *2 in_latency_window: - *2