The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# Latest secondary's lastWriteDate is used normally with read preference tags.
---
heartbeatFrequencyMS: 25000  # 25 seconds.
topology_description:
  type: ReplicaSetNoPrimary
  servers:
  - &1
    address: a:27017
    type: RSSecondary
    avg_rtt_ms: 5
    lastUpdateTime: 0
    maxWireVersion: 5
    lastWrite: {lastWriteDate: {$numberLong: "125002"}}
    tags:
      data_center: tokyo  # No match, but its lastWriteDate is used in estimate.
  - &2
    address: b:27017
    type: RSSecondary
    avg_rtt_ms: 5
    lastUpdateTime: 0
    maxWireVersion: 5
    lastWrite: {lastWriteDate: {$numberLong: "2"}}  # 125 sec stale + 25 sec heartbeat <= 150 sec maxStaleness.
    tags:
      data_center: nyc
  - &3
    address: c:27017
    type: RSSecondary
    avg_rtt_ms: 5
    lastUpdateTime: 0
    maxWireVersion: 5
    lastWrite: {lastWriteDate: {$numberLong: "1"}}  # Too stale.
    tags:
      data_center: nyc
  - &4
    address: d:27017
    type: RSSecondary
    avg_rtt_ms: 5
    lastUpdateTime: 0
    maxWireVersion: 5
    lastWrite: {lastWriteDate: {$numberLong: "2"}}
    tags:
      data_center: tokyo  # No match.
read_preference:
  mode: Secondary
  maxStalenessSeconds: 150
  tag_sets:
  - data_center: nyc
suitable_servers:
- *2
in_latency_window:
- *2