mongo 2.11.1 → 2.11.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +2 -1
  3. data.tar.gz.sig +0 -0
  4. data/Rakefile +24 -0
  5. data/lib/mongo/auth.rb +30 -10
  6. data/lib/mongo/auth/cr.rb +1 -0
  7. data/lib/mongo/auth/cr/conversation.rb +13 -13
  8. data/lib/mongo/auth/ldap.rb +2 -1
  9. data/lib/mongo/auth/ldap/conversation.rb +9 -12
  10. data/lib/mongo/auth/scram.rb +1 -0
  11. data/lib/mongo/auth/scram/conversation.rb +36 -27
  12. data/lib/mongo/auth/x509.rb +2 -1
  13. data/lib/mongo/auth/x509/conversation.rb +9 -9
  14. data/lib/mongo/client.rb +17 -6
  15. data/lib/mongo/cluster.rb +65 -49
  16. data/lib/mongo/cluster/sdam_flow.rb +87 -3
  17. data/lib/mongo/database.rb +1 -1
  18. data/lib/mongo/server.rb +13 -6
  19. data/lib/mongo/server/connection.rb +12 -4
  20. data/lib/mongo/server/connection_base.rb +7 -4
  21. data/lib/mongo/server/description.rb +34 -21
  22. data/lib/mongo/session.rb +10 -10
  23. data/lib/mongo/version.rb +1 -1
  24. data/spec/README.md +13 -0
  25. data/spec/integration/auth_spec.rb +27 -8
  26. data/spec/integration/client_construction_spec.rb +14 -0
  27. data/spec/mongo/auth/ldap/conversation_spec.rb +1 -1
  28. data/spec/mongo/auth/scram/conversation_spec.rb +23 -14
  29. data/spec/mongo/auth/x509/conversation_spec.rb +1 -1
  30. data/spec/mongo/client_construction_spec.rb +1 -21
  31. data/spec/mongo/cluster_spec.rb +38 -0
  32. data/spec/mongo/collection/view/map_reduce_spec.rb +1 -1
  33. data/spec/mongo/server/connection_spec.rb +67 -0
  34. data/spec/runners/sdam/verifier.rb +6 -3
  35. data/spec/spec_tests/data/sdam/rs/primary_address_change.yml +29 -0
  36. data/spec/spec_tests/data/sdam/rs/primary_mismatched_me.yml +27 -23
  37. data/spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml +56 -79
  38. data/spec/spec_tests/data/sdam/sharded/primary_address_change.yml +21 -0
  39. data/spec/spec_tests/data/sdam/sharded/primary_mismatched_me.yml +22 -0
  40. data/spec/spec_tests/data/sdam/single/primary_address_change.yml +24 -0
  41. data/spec/spec_tests/data/sdam/single/primary_mismatched_me.yml +25 -0
  42. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml +159 -0
  43. data/spec/spec_tests/data/sdam_monitoring/{replica_set_other_seed.yml → replica_set_with_primary_change.yml} +97 -101
  44. data/spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_removal.yml +22 -18
  45. data/spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml +90 -0
  46. data/spec/support/cluster_config.rb +36 -0
  47. data/spec/support/constraints.rb +18 -18
  48. data/spec/support/server_discovery_and_monitoring.rb +2 -0
  49. metadata +18 -4
  50. metadata.gz.sig +0 -0
@@ -1,23 +1,10 @@
1
1
  description: "Monitoring a topology that is a replica set with primary removal"
2
2
  uri: "mongodb://a,b"
3
3
  phases:
4
- # phase 1 - discover topology
5
- -
6
- responses:
7
- -
8
- - "a:27017"
9
- -
10
- ok: 1
11
- ismaster: true
12
- setName: "rs"
13
- setVersion: 1
14
- primary: "a:27017"
15
- hosts:
16
- - "a:27017"
17
- minWireVersion: 0
18
- maxWireVersion: 4
19
- outcome:
20
- events:
4
+ -
5
+ responses: []
6
+ outcome:
7
+ events:
21
8
  -
22
9
  topology_opening_event:
23
10
  topologyId: "42"
@@ -50,6 +37,23 @@ phases:
50
37
  server_opening_event:
51
38
  topologyId: "42"
52
39
  address: "b:27017"
40
+ # phase 1 - discover topology
41
+ -
42
+ responses:
43
+ -
44
+ - "a:27017"
45
+ -
46
+ ok: 1
47
+ ismaster: true
48
+ setName: "rs"
49
+ setVersion: 1
50
+ primary: "a:27017"
51
+ hosts:
52
+ - "a:27017"
53
+ minWireVersion: 0
54
+ maxWireVersion: 4
55
+ outcome:
56
+ events:
53
57
  -
54
58
  server_description_changed_event:
55
59
  topologyId: "42"
@@ -144,7 +148,7 @@ phases:
144
148
  passives: []
145
149
  primary: "c:27017"
146
150
  setName: "wrong"
147
- type: "RSOther"
151
+ type: "RSPrimary"
148
152
  -
149
153
  server_closed_event:
150
154
  topologyId: "42"
@@ -0,0 +1,90 @@
1
+ description: "Standalone connection to a replica set node with a me mismatch"
2
+ uri: "mongodb://a/?connect=direct"
3
+ phases:
4
+ -
5
+ responses: []
6
+ outcome:
7
+ events:
8
+ -
9
+ topology_opening_event:
10
+ topologyId: "42"
11
+ -
12
+ topology_description_changed_event:
13
+ topologyId: "42"
14
+ previousDescription:
15
+ topologyType: "Unknown"
16
+ servers: []
17
+ newDescription:
18
+ topologyType: "Single"
19
+ servers:
20
+ -
21
+ address: "a:27017"
22
+ arbiters: []
23
+ hosts: []
24
+ passives: []
25
+ type: "Unknown"
26
+ -
27
+ server_opening_event:
28
+ topologyId: "42"
29
+ address: "a:27017"
30
+ # phase 1 - server is a primary with mismatched me
31
+ -
32
+ responses:
33
+ -
34
+ - "a:27017"
35
+ -
36
+ ok: 1
37
+ ismaster: true
38
+ setName: "rs"
39
+ setVersion: 1
40
+ primary: "aa:27017"
41
+ me: "aa:27017"
42
+ hosts:
43
+ - "aa:27017"
44
+ minWireVersion: 0
45
+ maxWireVersion: 4
46
+ outcome:
47
+ events:
48
+ -
49
+ server_description_changed_event:
50
+ topologyId: "42"
51
+ address: "a:27017"
52
+ previousDescription:
53
+ address: "a:27017"
54
+ arbiters: []
55
+ hosts: []
56
+ passives: []
57
+ type: "Unknown"
58
+ newDescription:
59
+ address: "a:27017"
60
+ arbiters: []
61
+ hosts:
62
+ - "aa:27017"
63
+ passives: []
64
+ primary: "aa:27017"
65
+ setName: "rs"
66
+ type: "RSPrimary"
67
+ -
68
+ topology_description_changed_event:
69
+ topologyId: "42"
70
+ previousDescription:
71
+ topologyType: "Single"
72
+ servers:
73
+ -
74
+ address: "a:27017"
75
+ arbiters: []
76
+ hosts: []
77
+ passives: []
78
+ type: "Unknown"
79
+ newDescription:
80
+ topologyType: "Single"
81
+ servers:
82
+ -
83
+ address: "a:27017"
84
+ arbiters: []
85
+ hosts:
86
+ - "aa:27017"
87
+ passives: []
88
+ primary: "aa:27017"
89
+ setName: "rs"
90
+ type: "RSPrimary"
@@ -2,6 +2,7 @@ require 'singleton'
2
2
 
3
3
  class ClusterConfig
4
4
  include Singleton
5
+ include RSpec::Core::Pending
5
6
 
6
7
  def single_server?
7
8
  determine_cluster_config
@@ -114,6 +115,41 @@ class ClusterConfig
114
115
  end
115
116
  end
116
117
 
118
+ # This method returns an alternate address for connecting to the configured
119
+ # deployment. For example, if the replica set is configured with nodes at
120
+ # of localhost:27017 and so on, this method will return 127.0.0.:27017.
121
+ #
122
+ # Note that the "alternate" refers to replica set configuration, not the
123
+ # addresses specified in test suite configuration. If the deployment topology
124
+ # is not a replica set, "alternate" refers to test suite configuration as
125
+ # this is the only configuration available.
126
+ def alternate_address
127
+ @alternate_address ||= begin
128
+ address = primary_address_host
129
+ str = case address
130
+ when '127.0.0.1'
131
+ 'localhost'
132
+ when /^(\d+\.){3}\d+$/
133
+ skip 'This test requires a hostname or 127.0.0.1 as address'
134
+ else
135
+ # We don't know if mongod is listening on ipv4 or ipv6, in principle.
136
+ # Our tests use ipv4, so hardcode that for now.
137
+ # To support both we need to try both addresses which will make this
138
+ # test more complicated.
139
+ #
140
+ # JRuby chokes on primary_address_port as the port (e.g. 27017).
141
+ # Since the port does not actually matter, use a common port like 80.
142
+ resolved_address = Addrinfo.getaddrinfo(address, 80, Socket::PF_INET).first.ip_address
143
+ if resolved_address.include?(':')
144
+ "[#{resolved_address}]"
145
+ else
146
+ resolved_address
147
+ end
148
+ end + ":#{primary_address_port}"
149
+ Mongo::Address.new(str)
150
+ end
151
+ end
152
+
117
153
  private
118
154
 
119
155
  def determine_cluster_config
@@ -4,7 +4,7 @@ module Constraints
4
4
  raise ArgumentError, "Version can only be major.minor: #{version}"
5
5
  end
6
6
 
7
- before do
7
+ before(:all) do
8
8
  if version > ClusterConfig.instance.server_version
9
9
  skip "Server version #{version} or higher required, we have #{ClusterConfig.instance.server_version}"
10
10
  end
@@ -16,7 +16,7 @@ module Constraints
16
16
  raise ArgumentError, "Version can only be major.minor: #{version}"
17
17
  end
18
18
 
19
- before do
19
+ before(:all) do
20
20
  if version < ClusterConfig.instance.short_server_version
21
21
  skip "Server version #{version} or lower required, we have #{ClusterConfig.instance.server_version}"
22
22
  end
@@ -28,7 +28,7 @@ module Constraints
28
28
  raise ArgumentError, "FCV can only be major.minor: #{version}"
29
29
  end
30
30
 
31
- before do
31
+ before(:all) do
32
32
  unless ClusterConfig.instance.fcv_ish >= version
33
33
  skip "FCV #{version} or higher required, we have #{ClusterConfig.instance.fcv_ish} (server #{ClusterConfig.instance.server_version})"
34
34
  end
@@ -40,7 +40,7 @@ module Constraints
40
40
  raise ArgumentError, "Version can only be major.minor: #{version}"
41
41
  end
42
42
 
43
- before do
43
+ before(:all) do
44
44
  if version < ClusterConfig.instance.fcv_ish
45
45
  skip "FCV #{version} or lower required, we have #{ClusterConfig.instance.fcv_ish} (server #{ClusterConfig.instance.server_version})"
46
46
  end
@@ -52,7 +52,7 @@ module Constraints
52
52
  unless invalid_topologies.empty?
53
53
  raise ArgumentError, "Invalid topologies requested: #{invalid_topologies.join(', ')}"
54
54
  end
55
- before do
55
+ before(:all) do
56
56
  unless topologies.include?(topology = ClusterConfig.instance.topology)
57
57
  skip "Topology #{topologies.join(' or ')} required, we have #{topology}"
58
58
  end
@@ -73,7 +73,7 @@ module Constraints
73
73
  end
74
74
 
75
75
  def require_tls
76
- before do
76
+ before(:all) do
77
77
  unless SpecConfig.instance.ssl?
78
78
  skip "SSL not enabled"
79
79
  end
@@ -81,7 +81,7 @@ module Constraints
81
81
  end
82
82
 
83
83
  def require_no_tls
84
- before do
84
+ before(:all) do
85
85
  if SpecConfig.instance.ssl?
86
86
  skip "SSL enabled"
87
87
  end
@@ -93,7 +93,7 @@ module Constraints
93
93
  end
94
94
 
95
95
  def require_no_retry_writes
96
- before do
96
+ before(:all) do
97
97
  if SpecConfig.instance.retry_writes?
98
98
  skip "Retry writes is enabled"
99
99
  end
@@ -101,7 +101,7 @@ module Constraints
101
101
  end
102
102
 
103
103
  def require_compression
104
- before do
104
+ before(:all) do
105
105
  if SpecConfig.instance.compressors.nil?
106
106
  skip "Compression is not enabled"
107
107
  end
@@ -109,7 +109,7 @@ module Constraints
109
109
  end
110
110
 
111
111
  def require_no_compression
112
- before do
112
+ before(:all) do
113
113
  if SpecConfig.instance.compressors
114
114
  skip "Compression is enabled"
115
115
  end
@@ -117,7 +117,7 @@ module Constraints
117
117
  end
118
118
 
119
119
  def ruby_version_gte(version)
120
- before do
120
+ before(:all) do
121
121
  if RUBY_VERSION < version
122
122
  skip "Ruby version #{version} or higher required"
123
123
  end
@@ -125,7 +125,7 @@ module Constraints
125
125
  end
126
126
 
127
127
  def ruby_version_lt(version)
128
- before do
128
+ before(:all) do
129
129
  if RUBY_VERSION >= version
130
130
  skip "Ruby version less than #{version} required"
131
131
  end
@@ -133,7 +133,7 @@ module Constraints
133
133
  end
134
134
 
135
135
  def require_auth
136
- before do
136
+ before(:all) do
137
137
  unless ENV['AUTH'] == 'auth' || SpecConfig.instance.user || ClusterConfig.instance.auth_enabled?
138
138
  skip "Auth required"
139
139
  end
@@ -141,7 +141,7 @@ module Constraints
141
141
  end
142
142
 
143
143
  def require_no_auth
144
- before do
144
+ before(:all) do
145
145
  if ENV['AUTH'] == 'auth' || SpecConfig.instance.user || ClusterConfig.instance.auth_enabled?
146
146
  skip "Auth not allowed"
147
147
  end
@@ -159,7 +159,7 @@ module Constraints
159
159
  # Can the driver specify a write concern that won't be overridden?
160
160
  # (mongos 4.0+ overrides the write concern)
161
161
  def require_set_write_concern
162
- before do
162
+ before(:all) do
163
163
  if ClusterConfig.instance.topology == :sharded && ClusterConfig.instance.short_server_version >= '4.0'
164
164
  skip "mongos 4.0+ overrides write concern"
165
165
  end
@@ -167,7 +167,7 @@ module Constraints
167
167
  end
168
168
 
169
169
  def require_multi_shard
170
- before do
170
+ before(:all) do
171
171
  if ClusterConfig.instance.topology == :sharded && SpecConfig.instance.addresses.length == 1
172
172
  skip 'Test requires a minimum of two shards if run in sharded topology'
173
173
  end
@@ -175,7 +175,7 @@ module Constraints
175
175
  end
176
176
 
177
177
  def require_no_multi_shard
178
- before do
178
+ before(:all) do
179
179
  if ClusterConfig.instance.topology == :sharded && SpecConfig.instance.addresses.length > 1
180
180
  skip 'Test requires a single shard if run in sharded topology'
181
181
  end
@@ -201,7 +201,7 @@ module Constraints
201
201
  end
202
202
 
203
203
  def require_mmapv1
204
- before do
204
+ before(:all) do
205
205
  if ClusterConfig.instance.storage_engine != :mmapv1
206
206
  skip 'Test requires MMAPv1 storage engine'
207
207
  end
@@ -34,6 +34,8 @@ module Mongo
34
34
  when 'PossiblePrimary' then server.unknown?
35
35
  when 'RSGhost' then server.ghost?
36
36
  when 'RSOther' then server.other?
37
+ else
38
+ raise "Unknown type #{type}"
37
39
  end
38
40
  end
39
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.11.1
4
+ version: 2.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Brock
@@ -31,7 +31,7 @@ cert_chain:
31
31
  bMYVwXXhV8czdzgkQB/ZPWHSbEWXnmkze1mzvqWBCPOVXYrcnL9cnEl/RoxtS1hr
32
32
  Db6Ac6mCUSYfYHBWpWqxjc45n70i5Xi1
33
33
  -----END CERTIFICATE-----
34
- date: 2019-11-15 00:00:00.000000000 Z
34
+ date: 2019-12-04 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bson
@@ -908,6 +908,7 @@ files:
908
908
  - spec/spec_tests/data/sdam/rs/normalize_case.yml
909
909
  - spec/spec_tests/data/sdam/rs/normalize_case_me.yml
910
910
  - spec/spec_tests/data/sdam/rs/null_election_id.yml
911
+ - spec/spec_tests/data/sdam/rs/primary_address_change.yml
911
912
  - spec/spec_tests/data/sdam/rs/primary_becomes_ghost.yml
912
913
  - spec/spec_tests/data/sdam/rs/primary_becomes_mongos.yml
913
914
  - spec/spec_tests/data/sdam/rs/primary_becomes_standalone.yml
@@ -941,6 +942,8 @@ files:
941
942
  - spec/spec_tests/data/sdam/sharded/multiple_mongoses.yml
942
943
  - spec/spec_tests/data/sdam/sharded/non_mongos_removed.yml
943
944
  - spec/spec_tests/data/sdam/sharded/normalize_uri_case.yml
945
+ - spec/spec_tests/data/sdam/sharded/primary_address_change.yml
946
+ - spec/spec_tests/data/sdam/sharded/primary_mismatched_me.yml
944
947
  - spec/spec_tests/data/sdam/sharded/single_mongos.yml
945
948
  - spec/spec_tests/data/sdam/sharded/too_new.yml
946
949
  - spec/spec_tests/data/sdam/sharded/too_old.yml
@@ -954,6 +957,8 @@ files:
954
957
  - spec/spec_tests/data/sdam/single/direct_connection_standalone.yml
955
958
  - spec/spec_tests/data/sdam/single/ls_timeout_standalone.yml
956
959
  - spec/spec_tests/data/sdam/single/not_ok_response.yml
960
+ - spec/spec_tests/data/sdam/single/primary_address_change.yml
961
+ - spec/spec_tests/data/sdam/single/primary_mismatched_me.yml
957
962
  - spec/spec_tests/data/sdam/single/standalone_removed.yml
958
963
  - spec/spec_tests/data/sdam/single/too_new.yml
959
964
  - spec/spec_tests/data/sdam/single/too_old.yml
@@ -961,16 +966,18 @@ files:
961
966
  - spec/spec_tests/data/sdam_monitoring/discovered_standalone.yml
962
967
  - spec/spec_tests/data/sdam_monitoring/replica_set_other_chain.yml
963
968
  - spec/spec_tests/data/sdam_monitoring/replica_set_other_change.yml
964
- - spec/spec_tests/data/sdam_monitoring/replica_set_other_seed.yml
969
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml
965
970
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_no_primary.yml
966
971
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary.yml
967
972
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_and_secondary.yml
973
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_change.yml
968
974
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_removal.yml
969
975
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml
970
976
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_second_seed_removal.yml
971
977
  - spec/spec_tests/data/sdam_monitoring/required_replica_set.yml
972
978
  - spec/spec_tests/data/sdam_monitoring/standalone.yml
973
979
  - spec/spec_tests/data/sdam_monitoring/standalone_repeated.yml
980
+ - spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml
974
981
  - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest.yml
975
982
  - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_multiple.yml
976
983
  - spec/spec_tests/data/server_selection/ReplicaSetNoPrimary/read/Nearest_non_matching.yml
@@ -1612,13 +1619,15 @@ test_files:
1612
1619
  - spec/spec_tests/data/sdam_monitoring/discovered_standalone.yml
1613
1620
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_removal.yml
1614
1621
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_removal.yml
1622
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_me_mismatch.yml
1623
+ - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary_change.yml
1615
1624
  - spec/spec_tests/data/sdam_monitoring/replica_set_other_chain.yml
1616
- - spec/spec_tests/data/sdam_monitoring/replica_set_other_seed.yml
1617
1625
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_primary.yml
1618
1626
  - spec/spec_tests/data/sdam_monitoring/standalone_repeated.yml
1619
1627
  - spec/spec_tests/data/sdam_monitoring/replica_set_with_second_seed_removal.yml
1620
1628
  - spec/spec_tests/data/sdam_monitoring/replica_set_other_change.yml
1621
1629
  - spec/spec_tests/data/sdam_monitoring/required_replica_set.yml
1630
+ - spec/spec_tests/data/sdam_monitoring/standalone_to_rs_with_me_mismatch.yml
1622
1631
  - spec/spec_tests/data/uri_options/tls-options.yml
1623
1632
  - spec/spec_tests/data/uri_options/compression-options.yml
1624
1633
  - spec/spec_tests/data/uri_options/connection-options.yml
@@ -1724,7 +1733,9 @@ test_files:
1724
1733
  - spec/spec_tests/data/sdam/single/compatible.yml
1725
1734
  - spec/spec_tests/data/sdam/single/direct_connection_rsprimary.yml
1726
1735
  - spec/spec_tests/data/sdam/single/direct_connection_rsarbiter.yml
1736
+ - spec/spec_tests/data/sdam/single/primary_address_change.yml
1727
1737
  - spec/spec_tests/data/sdam/single/too_new.yml
1738
+ - spec/spec_tests/data/sdam/single/primary_mismatched_me.yml
1728
1739
  - spec/spec_tests/data/sdam/single/ls_timeout_standalone.yml
1729
1740
  - spec/spec_tests/data/sdam/single/direct_connection_standalone.yml
1730
1741
  - spec/spec_tests/data/sdam/sharded/too_old.yml
@@ -1732,7 +1743,9 @@ test_files:
1732
1743
  - spec/spec_tests/data/sdam/sharded/multiple_mongoses.yml
1733
1744
  - spec/spec_tests/data/sdam/sharded/normalize_uri_case.yml
1734
1745
  - spec/spec_tests/data/sdam/sharded/ls_timeout_mongos.yml
1746
+ - spec/spec_tests/data/sdam/sharded/primary_address_change.yml
1735
1747
  - spec/spec_tests/data/sdam/sharded/too_new.yml
1748
+ - spec/spec_tests/data/sdam/sharded/primary_mismatched_me.yml
1736
1749
  - spec/spec_tests/data/sdam/sharded/single_mongos.yml
1737
1750
  - spec/spec_tests/data/sdam/sharded/non_mongos_removed.yml
1738
1751
  - spec/spec_tests/data/sdam/sharded/mongos_disconnect.yml
@@ -1767,6 +1780,7 @@ test_files:
1767
1780
  - spec/spec_tests/data/sdam/rs/primary_changes_set_name.yml
1768
1781
  - spec/spec_tests/data/sdam/rs/primary_to_no_primary_mismatched_me.yml
1769
1782
  - spec/spec_tests/data/sdam/rs/new_primary_wrong_set_name.yml
1783
+ - spec/spec_tests/data/sdam/rs/primary_address_change.yml
1770
1784
  - spec/spec_tests/data/sdam/rs/too_new.yml
1771
1785
  - spec/spec_tests/data/sdam/rs/member_standalone.yml
1772
1786
  - spec/spec_tests/data/sdam/rs/incompatible_ghost.yml