diff --git a/test/spec/server-selection/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_empty_tags.json b/test/spec/server-selection/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_empty_tags.json new file mode 100644 index 0000000000..5cc088df4c --- /dev/null +++ b/test/spec/server-selection/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_empty_tags.json @@ -0,0 +1,41 @@ +{ + "topology_description": { + "type": "ReplicaSetWithPrimary", + "servers": [ + { + "address": "a:27017", + "avg_rtt_ms": 5, + "type": "RSPrimary" + }, + { + "address": "b:27017", + "avg_rtt_ms": 5, + "type": "RSSecondary" + } + ] + }, + "operation": "read", + "read_preference": { + "mode": "SecondaryPreferred", + "tag_sets": [ + { + "data_center": "nyc" + }, + {} + ] + }, + "suitable_servers": [ + { + "address": "b:27017", + "avg_rtt_ms": 5, + "type": "RSSecondary" + } + ], + "in_latency_window": [ + { + "address": "b:27017", + "avg_rtt_ms": 5, + "type": "RSSecondary" + } + ] +} \ No newline at end of file diff --git a/test/spec/server-selection/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_empty_tags.yml b/test/spec/server-selection/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_empty_tags.yml new file mode 100644 index 0000000000..72f2bd53ae --- /dev/null +++ b/test/spec/server-selection/server_selection/ReplicaSetWithPrimary/read/SecondaryPreferred_empty_tags.yml @@ -0,0 +1,26 @@ +# Attempt to select the secondary using an empty tag set. Expect empty tag set to match. +# This is a regression test for RUST-2363. +--- +topology_description: + type: ReplicaSetWithPrimary + servers: + - &1 + address: a:27017 + avg_rtt_ms: 5 + type: RSPrimary + # No "tags". + - &2 + address: b:27017 + avg_rtt_ms: 5 + type: RSSecondary + # No "tags" +operation: read +read_preference: + mode: SecondaryPreferred + tag_sets: + - data_center: nyc # Does not match. + - {} # Empty tag set. +suitable_servers: + - *2 +in_latency_window: + - *2 \ No newline at end of file