mongo 2.5.0 → 2.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/README.md +2 -0
  5. data/Rakefile +4 -1
  6. data/lib/mongo/address.rb +2 -1
  7. data/lib/mongo/client.rb +6 -51
  8. data/lib/mongo/cluster.rb +34 -4
  9. data/lib/mongo/cluster/reapers/socket_reaper.rb +1 -1
  10. data/lib/mongo/cluster/topology/replica_set.rb +3 -1
  11. data/lib/mongo/collection.rb +6 -6
  12. data/lib/mongo/collection/view.rb +2 -4
  13. data/lib/mongo/cursor.rb +9 -4
  14. data/lib/mongo/error.rb +2 -0
  15. data/lib/mongo/operation/uses_command_op_msg.rb +1 -1
  16. data/lib/mongo/server.rb +3 -0
  17. data/lib/mongo/server/description.rb +1 -1
  18. data/lib/mongo/server/description/features.rb +18 -12
  19. data/lib/mongo/server_selector/selectable.rb +5 -1
  20. data/lib/mongo/session.rb +38 -43
  21. data/lib/mongo/session/session_pool.rb +12 -30
  22. data/lib/mongo/socket.rb +24 -0
  23. data/lib/mongo/socket/tcp.rb +0 -1
  24. data/lib/mongo/uri.rb +26 -5
  25. data/lib/mongo/version.rb +1 -1
  26. data/spec/mongo/address_spec.rb +37 -2
  27. data/spec/mongo/bulk_write_spec.rb +4 -10
  28. data/spec/mongo/change_stream_examples_spec.rb +40 -0
  29. data/spec/mongo/client_spec.rb +47 -12
  30. data/spec/mongo/cluster/topology/replica_set_spec.rb +2 -0
  31. data/spec/mongo/collection/view/aggregation_spec.rb +2 -8
  32. data/spec/mongo/collection/view/change_stream_spec.rb +1 -5
  33. data/spec/mongo/collection/view/map_reduce_spec.rb +2 -8
  34. data/spec/mongo/collection/view/readable_spec.rb +1 -1
  35. data/spec/mongo/collection_spec.rb +11 -29
  36. data/spec/mongo/crud_spec.rb +6 -2
  37. data/spec/mongo/cursor_spec.rb +84 -1
  38. data/spec/mongo/database_spec.rb +2 -8
  39. data/spec/mongo/dns_seedlist_discovery_spec.rb +67 -63
  40. data/spec/mongo/max_staleness_spec.rb +1 -0
  41. data/spec/mongo/retryable_writes_spec.rb +7 -9
  42. data/spec/mongo/sdam_spec.rb +42 -24
  43. data/spec/mongo/server/description/features_spec.rb +3 -3
  44. data/spec/mongo/server_selection_spec.rb +2 -0
  45. data/spec/mongo/server_selector_spec.rb +2 -0
  46. data/spec/mongo/session/session_pool_spec.rb +16 -22
  47. data/spec/mongo/session_spec.rb +13 -8
  48. data/spec/mongo/uri/srv_protocol_spec.rb +481 -478
  49. data/spec/mongo/uri_spec.rb +1 -1
  50. data/spec/spec_helper.rb +11 -63
  51. data/spec/support/authorization.rb +35 -1
  52. data/spec/support/connection_string_tests/invalid-uris.yml +27 -11
  53. data/spec/support/event_subscriber.rb +66 -0
  54. data/spec/support/sdam/rs/compatible.yml +41 -0
  55. data/spec/support/sdam/rs/discover_arbiters.yml +3 -1
  56. data/spec/support/sdam/rs/discover_passives.yml +6 -2
  57. data/spec/support/sdam/rs/discover_primary.yml +3 -1
  58. data/spec/support/sdam/rs/discover_secondary.yml +3 -1
  59. data/spec/support/sdam/rs/discovery.yml +12 -4
  60. data/spec/support/sdam/rs/equal_electionids.yml +6 -2
  61. data/spec/support/sdam/rs/ghost_discovered.yml +3 -1
  62. data/spec/support/sdam/rs/hosts_differ_from_seeds.yml +3 -1
  63. data/spec/support/sdam/rs/ls_timeout.yml +169 -14
  64. data/spec/support/sdam/rs/member_reconfig.yml +6 -2
  65. data/spec/support/sdam/rs/member_standalone.yml +6 -2
  66. data/spec/support/sdam/rs/new_primary.yml +6 -2
  67. data/spec/support/sdam/rs/new_primary_new_electionid.yml +9 -3
  68. data/spec/support/sdam/rs/new_primary_new_setversion.yml +9 -3
  69. data/spec/support/sdam/rs/new_primary_wrong_set_name.yml +6 -2
  70. data/spec/support/sdam/rs/non_rs_member.yml +3 -2
  71. data/spec/support/sdam/rs/normalize_case.yml +3 -1
  72. data/spec/support/sdam/rs/null_election_id.yml +12 -4
  73. data/spec/support/sdam/rs/primary_becomes_standalone.yml +6 -4
  74. data/spec/support/sdam/rs/primary_changes_set_name.yml +6 -2
  75. data/spec/support/sdam/rs/primary_disconnect.yml +3 -1
  76. data/spec/support/sdam/rs/primary_disconnect_electionid.yml +15 -5
  77. data/spec/support/sdam/rs/primary_disconnect_setversion.yml +15 -5
  78. data/spec/support/sdam/rs/primary_hint_from_secondary_with_mismatched_me.yml +6 -2
  79. data/spec/support/sdam/rs/primary_mismatched_me.yml +26 -37
  80. data/spec/support/sdam/rs/primary_reports_new_member.yml +12 -4
  81. data/spec/support/sdam/rs/primary_to_no_primary_mismatched_me.yml +6 -2
  82. data/spec/support/sdam/rs/primary_wrong_set_name.yml +3 -1
  83. data/spec/support/sdam/rs/response_from_removed.yml +6 -2
  84. data/spec/support/sdam/rs/rsother_discovered.yml +6 -2
  85. data/spec/support/sdam/rs/sec_not_auth.yml +6 -2
  86. data/spec/support/sdam/rs/secondary_mismatched_me.yml +26 -37
  87. data/spec/support/sdam/rs/secondary_wrong_set_name.yml +3 -1
  88. data/spec/support/sdam/rs/secondary_wrong_set_name_with_primary.yml +6 -2
  89. data/spec/support/sdam/rs/setversion_without_electionid.yml +6 -2
  90. data/spec/support/sdam/rs/stepdown_change_set_name.yml +6 -2
  91. data/spec/support/sdam/rs/too_new.yml +41 -0
  92. data/spec/support/sdam/rs/too_old.yml +39 -0
  93. data/spec/support/sdam/rs/unexpected_mongos.yml +3 -1
  94. data/spec/support/sdam/rs/use_setversion_without_electionid.yml +9 -3
  95. data/spec/support/sdam/rs/wrong_set_name.yml +3 -1
  96. data/spec/support/server_discovery_and_monitoring.rb +13 -0
  97. data/spec/support/shared/session.rb +10 -30
  98. metadata +10 -2
  99. metadata.gz.sig +0 -0
@@ -1,37 +1,26 @@
1
- {
2
- "description": "Secondary mismatched me",
3
- "phases": [
4
- {
5
- "outcome": {
6
- "servers": {
7
- "a:27017": {
8
- "setName": null,
9
- "type": "Unknown"
10
- },
11
- "b:27017": {
12
- "setName": null,
13
- "type": "Unknown"
14
- }
15
- },
16
- "setName": "rs",
17
- "topologyType": "ReplicaSetNoPrimary"
18
- },
19
- "responses": [
20
- [
21
- "localhost:27017",
22
- {
23
- "me": "a:27017",
24
- "hosts": [
25
- "a:27017",
26
- "b:27017"
27
- ],
28
- "ismaster": false,
29
- "ok": 1,
30
- "setName": "rs"
31
- }
32
- ]
33
- ]
34
- }
35
- ],
36
- "uri": "mongodb://localhost:27017/?replicaSet=rs"
37
- }
1
+ description: Secondary mismatched me
2
+ phases:
3
+ - outcome:
4
+ servers:
5
+ 'a:27017':
6
+ setName: null
7
+ type: Unknown
8
+ 'b:27017':
9
+ setName: null
10
+ type: Unknown
11
+ setName: rs
12
+ topologyType: ReplicaSetNoPrimary
13
+ logicalSessionTimeoutMinutes: null
14
+ responses:
15
+ - - 'localhost:27017'
16
+ - me: 'a:27017'
17
+ hosts:
18
+ - 'a:27017'
19
+ - 'b:27017'
20
+ ismaster: false
21
+ ok: 1
22
+ setName: rs
23
+ minWireVersion: 0
24
+ maxWireVersion: 6
25
+ uri: 'mongodb://localhost:27017/?replicaSet=rs'
26
+
@@ -13,7 +13,9 @@ phases: [
13
13
  ismaster: false,
14
14
  secondary: true,
15
15
  hosts: ["a:27017"],
16
- setName: "wrong"
16
+ setName: "wrong",
17
+ minWireVersion: 0,
18
+ maxWireVersion: 6
17
19
  }]
18
20
  ],
19
21
 
@@ -12,7 +12,9 @@ phases: [
12
12
  ok: 1,
13
13
  ismaster: true,
14
14
  hosts: ["a:27017", "b:27017"],
15
- setName: "rs"
15
+ setName: "rs",
16
+ minWireVersion: 0,
17
+ maxWireVersion: 6
16
18
  }]
17
19
  ],
18
20
 
@@ -47,7 +49,9 @@ phases: [
47
49
  ismaster: false,
48
50
  secondary: true,
49
51
  hosts: ["a:27017", "b:27017"],
50
- setName: "wrong"
52
+ setName: "wrong",
53
+ minWireVersion: 0,
54
+ maxWireVersion: 6
51
55
  }]
52
56
  ],
53
57
 
@@ -12,7 +12,9 @@ phases: [
12
12
  ismaster: true,
13
13
  hosts: ["a:27017", "b:27017"],
14
14
  setName: "rs",
15
- setVersion: 2
15
+ setVersion: 2,
16
+ minWireVersion: 0,
17
+ maxWireVersion: 6
16
18
  }]
17
19
  ],
18
20
 
@@ -45,7 +47,9 @@ phases: [
45
47
  ismaster: true,
46
48
  hosts: ["a:27017", "b:27017"],
47
49
  setName: "rs",
48
- setVersion: 1
50
+ setVersion: 1,
51
+ minWireVersion: 0,
52
+ maxWireVersion: 6
49
53
  }]
50
54
  ],
51
55
 
@@ -13,7 +13,9 @@ phases: [
13
13
  ok: 1,
14
14
  ismaster: true,
15
15
  hosts: ["a:27017"],
16
- setName: "rs"
16
+ setName: "rs",
17
+ minWireVersion: 0,
18
+ maxWireVersion: 6
17
19
  }]
18
20
  ],
19
21
 
@@ -44,7 +46,9 @@ phases: [
44
46
  ismaster: false,
45
47
  secondary: true,
46
48
  hosts: ["a:27017"],
47
- setName: "wrong"
49
+ setName: "wrong",
50
+ minWireVersion: 0,
51
+ maxWireVersion: 6
48
52
  }]
49
53
  ],
50
54
 
@@ -0,0 +1,41 @@
1
+ description: "Replica set member with large minWireVersion"
2
+ uri: "mongodb://a,b/?replicaSet=rs"
3
+ phases: [
4
+ {
5
+ responses: [
6
+ ["a:27017", {
7
+ ok: 1,
8
+ ismaster: true,
9
+ setName: "rs",
10
+ hosts: ["a:27017", "b:27017"],
11
+ minWireVersion: 0,
12
+ maxWireVersion: 6
13
+ }],
14
+ ["b:27017", {
15
+ ok: 1,
16
+ ismaster: false,
17
+ secondary: true,
18
+ setName: "rs",
19
+ hosts: ["a:27017", "b:27017"],
20
+ minWireVersion: 999,
21
+ maxWireVersion: 1000
22
+ }]
23
+ ],
24
+ outcome: {
25
+ servers: {
26
+ "a:27017": {
27
+ type: "RSPrimary",
28
+ setName: "rs"
29
+ },
30
+ "b:27017": {
31
+ type: "RSSecondary",
32
+ setName: "rs"
33
+ }
34
+ },
35
+ topologyType: "ReplicaSetWithPrimary",
36
+ setName: "rs",
37
+ logicalSessionTimeoutMinutes: null,
38
+ compatible: false
39
+ }
40
+ }
41
+ ]
@@ -0,0 +1,39 @@
1
+ description: "Replica set member with default maxWireVersion of 0"
2
+ uri: "mongodb://a,b/?replicaSet=rs"
3
+ phases: [
4
+ {
5
+ responses: [
6
+ ["a:27017", {
7
+ ok: 1,
8
+ ismaster: true,
9
+ setName: "rs",
10
+ hosts: ["a:27017", "b:27017"],
11
+ minWireVersion: 0,
12
+ maxWireVersion: 6
13
+ }],
14
+ ["b:27017", {
15
+ ok: 1,
16
+ ismaster: false,
17
+ secondary: true,
18
+ setName: "rs",
19
+ hosts: ["a:27017", "b:27017"]
20
+ }]
21
+ ],
22
+ outcome: {
23
+ servers: {
24
+ "a:27017": {
25
+ type: "RSPrimary",
26
+ setName: "rs"
27
+ },
28
+ "b:27017": {
29
+ type: "RSSecondary",
30
+ setName: "rs"
31
+ }
32
+ },
33
+ topologyType: "ReplicaSetWithPrimary",
34
+ setName: "rs",
35
+ logicalSessionTimeoutMinutes: null,
36
+ compatible: false
37
+ }
38
+ }
39
+ ]
@@ -11,7 +11,9 @@ phases: [
11
11
 
12
12
  ok: 1,
13
13
  ismaster: true,
14
- msg: "isdbgrid"
14
+ msg: "isdbgrid",
15
+ minWireVersion: 0,
16
+ maxWireVersion: 6
15
17
  }]
16
18
  ],
17
19
 
@@ -13,7 +13,9 @@ phases: [
13
13
  hosts: ["a:27017", "b:27017"],
14
14
  setName: "rs",
15
15
  setVersion: 1,
16
- electionId: {"$oid": "000000000000000000000001"}
16
+ electionId: {"$oid": "000000000000000000000001"},
17
+ minWireVersion: 0,
18
+ maxWireVersion: 6
17
19
  }]
18
20
  ],
19
21
 
@@ -45,7 +47,9 @@ phases: [
45
47
  ismaster: true,
46
48
  hosts: ["a:27017", "b:27017"],
47
49
  setName: "rs",
48
- setVersion: 2
50
+ setVersion: 2,
51
+ minWireVersion: 0,
52
+ maxWireVersion: 6
49
53
  }]
50
54
  ],
51
55
 
@@ -78,7 +82,9 @@ phases: [
78
82
  hosts: ["a:27017", "b:27017"],
79
83
  setName: "rs",
80
84
  setVersion: 1,
81
- electionId: {"$oid": "000000000000000000000002"}
85
+ electionId: {"$oid": "000000000000000000000002"},
86
+ minWireVersion: 0,
87
+ maxWireVersion: 6
82
88
  }]
83
89
  ],
84
90
  outcome: {
@@ -13,7 +13,9 @@ phases: [
13
13
  ismaster: false,
14
14
  secondary: true,
15
15
  hosts: ["b:27017", "c:27017"],
16
- setName: "wrong"
16
+ setName: "wrong",
17
+ minWireVersion: 0,
18
+ maxWireVersion: 6
17
19
  }]
18
20
  ],
19
21
 
@@ -180,6 +180,19 @@ module Mongo
180
180
  @topology_type = outcome['topologyType']
181
181
  @logical_session_timeout = outcome['logicalSessionTimeoutMinutes']
182
182
  @events = process_events(outcome['events']) if outcome['events']
183
+ @compatible = outcome['compatible']
184
+ end
185
+
186
+ # Whether the server responses indicate that their versions are supported by the driver.
187
+ #
188
+ # @example Do the server responses indicate that their versions are supported by the driver.
189
+ # outcome.compatible?
190
+ #
191
+ # @return [ true, false ] Whether the server versions are compatible with the driver.
192
+ #
193
+ # @since 2.5.1
194
+ def compatible?
195
+ @compatible.nil? || !!@compatible
183
196
  end
184
197
 
185
198
  private
@@ -44,7 +44,7 @@ shared_examples 'an operation using a session' do
44
44
  context 'when a session from another client is provided' do
45
45
 
46
46
  let(:session) do
47
- authorized_client.with(read: { mode: :secondary }).start_session
47
+ authorized_client_with_retry_writes.start_session
48
48
  end
49
49
 
50
50
  let(:operation_result) do
@@ -135,17 +135,7 @@ end
135
135
  shared_examples 'an operation supporting causally consistent reads' do
136
136
 
137
137
  let(:client) do
138
- authorized_client.with(heartbeat_frequency: 100).tap do |cl|
139
- cl.subscribe(Mongo::Monitoring::COMMAND, subscriber)
140
- end
141
- end
142
-
143
- let(:subscriber) do
144
- EventSubscriber.new
145
- end
146
-
147
- after do
148
- client.close
138
+ subscribed_client
149
139
  end
150
140
 
151
141
  context 'when connected to a standalone', if: sessions_enabled? && standalone? do
@@ -572,17 +562,7 @@ shared_examples 'an operation updating cluster time' do
572
562
  end
573
563
 
574
564
  let(:client) do
575
- authorized_client.with(heartbeat_frequency: 100).tap do |cl|
576
- cl.subscribe(Mongo::Monitoring::COMMAND, subscriber)
577
- end
578
- end
579
-
580
- let(:subscriber) do
581
- EventSubscriber.new
582
- end
583
-
584
- after do
585
- client.close
565
+ subscribed_client
586
566
  end
587
567
 
588
568
  context 'when the command is run once' do
@@ -593,7 +573,7 @@ shared_examples 'an operation updating cluster time' do
593
573
 
594
574
  let!(:reply_cluster_time) do
595
575
  operation_with_session
596
- subscriber.succeeded_events[-1].reply['$clusterTime']
576
+ EventSubscriber.succeeded_events[-1].reply['$clusterTime']
597
577
  end
598
578
 
599
579
  it 'updates the cluster time of the cluster' do
@@ -613,7 +593,7 @@ shared_examples 'an operation updating cluster time' do
613
593
 
614
594
  let!(:reply_cluster_time) do
615
595
  operation_with_session
616
- subscriber.succeeded_events[-1].reply['$clusterTime']
596
+ EventSubscriber.succeeded_events[-1].reply['$clusterTime']
617
597
  end
618
598
 
619
599
  it 'does not update the cluster time of the cluster' do
@@ -634,7 +614,7 @@ shared_examples 'an operation updating cluster time' do
634
614
 
635
615
  let!(:reply_cluster_time) do
636
616
  operation
637
- subscriber.succeeded_events[-1].reply['$clusterTime']
617
+ EventSubscriber.succeeded_events[-1].reply['$clusterTime']
638
618
  end
639
619
 
640
620
  it 'does not update the cluster time of the cluster' do
@@ -647,7 +627,7 @@ shared_examples 'an operation updating cluster time' do
647
627
 
648
628
  let!(:reply_cluster_time) do
649
629
  operation_with_session
650
- subscriber.succeeded_events[-1].reply['$clusterTime']
630
+ EventSubscriber.succeeded_events[-1].reply['$clusterTime']
651
631
  end
652
632
 
653
633
  context 'when the cluster is sharded or a replica set', if: test_sessions? do
@@ -660,7 +640,7 @@ shared_examples 'an operation updating cluster time' do
660
640
 
661
641
  let(:second_command_cluster_time) do
662
642
  second_operation
663
- subscriber.started_events[-1].command['$clusterTime']
643
+ EventSubscriber.started_events[-1].command['$clusterTime']
664
644
  end
665
645
 
666
646
  context 'when the advanced cluster time is greater than the existing cluster time' do
@@ -696,7 +676,7 @@ shared_examples 'an operation updating cluster time' do
696
676
 
697
677
  let(:second_command_cluster_time) do
698
678
  second_operation
699
- subscriber.started_events[-1].command['$clusterTime']
679
+ EventSubscriber.started_events[-1].command['$clusterTime']
700
680
  end
701
681
 
702
682
  it 'includes the received cluster time in the second command' do
@@ -713,7 +693,7 @@ shared_examples 'an operation updating cluster time' do
713
693
 
714
694
  let(:second_command_cluster_time) do
715
695
  second_operation
716
- subscriber.started_events[-1].command['$clusterTime']
696
+ EventSubscriber.started_events[-1].command['$clusterTime']
717
697
  end
718
698
 
719
699
  it 'does not update the cluster time of the cluster' do
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.5.0
4
+ version: 2.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Brock
@@ -32,7 +32,7 @@ cert_chain:
32
32
  3s0DZnO1KxiaSyKOest/k/qf2tqdbmmhZ+Kd8E2vMN9RuNjPzKRPtNsM4mZGKEog
33
33
  p3shId/bDtqoYu1EX+ot1RmsQEYYUO6hhaNOm9WmvIs=
34
34
  -----END CERTIFICATE-----
35
- date: 2018-01-17 00:00:00.000000000 Z
35
+ date: 2018-02-20 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: bson
@@ -577,6 +577,7 @@ files:
577
577
  - spec/support/dns_seedlist_discovery_tests/txt-record-with-unallowed-option.yml
578
578
  - spec/support/dns_seedlist_discovery_tests/uri-with-port.yml
579
579
  - spec/support/dns_seedlist_discovery_tests/uri-with-two-hosts.yml
580
+ - spec/support/event_subscriber.rb
580
581
  - spec/support/gridfs.rb
581
582
  - spec/support/gridfs_tests/delete.yml
582
583
  - spec/support/gridfs_tests/download.yml
@@ -627,6 +628,7 @@ files:
627
628
  - spec/support/retryable_writes_tests/insertOne.yml
628
629
  - spec/support/retryable_writes_tests/replaceOne.yml
629
630
  - spec/support/retryable_writes_tests/updateOne.yml
631
+ - spec/support/sdam/rs/compatible.yml
630
632
  - spec/support/sdam/rs/discover_arbiters.yml
631
633
  - spec/support/sdam/rs/discover_passives.yml
632
634
  - spec/support/sdam/rs/discover_primary.yml
@@ -664,6 +666,8 @@ files:
664
666
  - spec/support/sdam/rs/set_version_without_electionid.yml
665
667
  - spec/support/sdam/rs/setversion_without_electionid.yml
666
668
  - spec/support/sdam/rs/stepdown_change_set_name.yml
669
+ - spec/support/sdam/rs/too_new.yml
670
+ - spec/support/sdam/rs/too_old.yml
667
671
  - spec/support/sdam/rs/unexpected_mongos.yml
668
672
  - spec/support/sdam/rs/use_setversion_without_electionid.yml
669
673
  - spec/support/sdam/rs/wrong_set_name.yml
@@ -928,6 +932,7 @@ test_files:
928
932
  - spec/support/sdam/rs/discover_passives.yml
929
933
  - spec/support/sdam/rs/primary_mismatched_me.yml
930
934
  - spec/support/sdam/rs/normalize_case.yml
935
+ - spec/support/sdam/rs/too_new.yml
931
936
  - spec/support/sdam/rs/discovery.yml
932
937
  - spec/support/sdam/rs/ghost_discovered.yml
933
938
  - spec/support/sdam/rs/equal_electionids.yml
@@ -940,6 +945,7 @@ test_files:
940
945
  - spec/support/sdam/rs/ls_timeout.yml
941
946
  - spec/support/sdam/rs/use_setversion_without_electionid.yml
942
947
  - spec/support/sdam/rs/primary_reports_new_member.yml
948
+ - spec/support/sdam/rs/too_old.yml
943
949
  - spec/support/sdam/rs/primary_becomes_standalone.yml
944
950
  - spec/support/sdam/rs/sec_not_auth.yml
945
951
  - spec/support/sdam/rs/set_version_without_electionid.yml
@@ -954,6 +960,7 @@ test_files:
954
960
  - spec/support/sdam/rs/new_primary_new_setversion.yml
955
961
  - spec/support/sdam/rs/new_primary_new_electionid.yml
956
962
  - spec/support/sdam/rs/null_election_id.yml
963
+ - spec/support/sdam/rs/compatible.yml
957
964
  - spec/support/sdam/rs/discover_arbiters.yml
958
965
  - spec/support/dns_seedlist_discovery_tests/parent-part-mismatch2.yml
959
966
  - spec/support/dns_seedlist_discovery_tests/one-result-default-port.yml
@@ -993,6 +1000,7 @@ test_files:
993
1000
  - spec/support/command_monitoring/deleteMany.yml
994
1001
  - spec/support/travis.rb
995
1002
  - spec/support/command_monitoring.rb
1003
+ - spec/support/event_subscriber.rb
996
1004
  - spec/support/connection_string_tests/valid-unix_socket-relative.yml
997
1005
  - spec/support/connection_string_tests/valid-auth.yml
998
1006
  - spec/support/connection_string_tests/valid-db-with-dotted-name.yml