mongo 2.20.2 → 2.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -0
  3. data/Rakefile +11 -11
  4. data/lib/mongo/address.rb +22 -3
  5. data/lib/mongo/auth/aws/credentials_retriever.rb +70 -17
  6. data/lib/mongo/auth/base.rb +1 -1
  7. data/lib/mongo/bulk_write.rb +35 -2
  8. data/lib/mongo/client.rb +38 -6
  9. data/lib/mongo/client_encryption.rb +6 -3
  10. data/lib/mongo/cluster/reapers/cursor_reaper.rb +6 -1
  11. data/lib/mongo/cluster/sdam_flow.rb +20 -7
  12. data/lib/mongo/cluster.rb +14 -4
  13. data/lib/mongo/collection/helpers.rb +1 -1
  14. data/lib/mongo/collection/view/aggregation/behavior.rb +131 -0
  15. data/lib/mongo/collection/view/aggregation.rb +33 -99
  16. data/lib/mongo/collection/view/builder/aggregation.rb +1 -7
  17. data/lib/mongo/collection/view/change_stream.rb +80 -27
  18. data/lib/mongo/collection/view/iterable.rb +76 -60
  19. data/lib/mongo/collection/view/map_reduce.rb +25 -8
  20. data/lib/mongo/collection/view/readable.rb +79 -30
  21. data/lib/mongo/collection/view/writable.rb +109 -48
  22. data/lib/mongo/collection/view.rb +43 -3
  23. data/lib/mongo/collection.rb +158 -23
  24. data/lib/mongo/crypt/auto_encrypter.rb +4 -6
  25. data/lib/mongo/crypt/binding.rb +4 -4
  26. data/lib/mongo/crypt/context.rb +20 -14
  27. data/lib/mongo/crypt/encryption_io.rb +56 -26
  28. data/lib/mongo/crypt/explicit_encrypter.rb +49 -20
  29. data/lib/mongo/crypt/explicit_encryption_context.rb +17 -11
  30. data/lib/mongo/crypt/kms/azure/credentials_retriever.rb +22 -6
  31. data/lib/mongo/crypt/kms/gcp/credentials_retriever.rb +29 -4
  32. data/lib/mongo/csot_timeout_holder.rb +119 -0
  33. data/lib/mongo/cursor/kill_spec.rb +5 -2
  34. data/lib/mongo/cursor/nontailable.rb +27 -0
  35. data/lib/mongo/cursor.rb +86 -24
  36. data/lib/mongo/cursor_host.rb +82 -0
  37. data/lib/mongo/database/view.rb +81 -14
  38. data/lib/mongo/database.rb +88 -18
  39. data/lib/mongo/error/operation_failure.rb +209 -204
  40. data/lib/mongo/error/server_timeout_error.rb +12 -0
  41. data/lib/mongo/error/socket_timeout_error.rb +3 -1
  42. data/lib/mongo/error/timeout_error.rb +23 -0
  43. data/lib/mongo/error.rb +2 -0
  44. data/lib/mongo/grid/fs_bucket.rb +45 -12
  45. data/lib/mongo/grid/stream/read.rb +15 -1
  46. data/lib/mongo/grid/stream/write.rb +21 -4
  47. data/lib/mongo/index/view.rb +77 -16
  48. data/lib/mongo/operation/context.rb +40 -2
  49. data/lib/mongo/operation/create_search_indexes/op_msg.rb +2 -2
  50. data/lib/mongo/operation/delete/op_msg.rb +2 -1
  51. data/lib/mongo/operation/drop_search_index/op_msg.rb +2 -2
  52. data/lib/mongo/operation/find/op_msg.rb +45 -0
  53. data/lib/mongo/operation/get_more/op_msg.rb +33 -0
  54. data/lib/mongo/operation/insert/op_msg.rb +3 -2
  55. data/lib/mongo/operation/insert/result.rb +4 -2
  56. data/lib/mongo/operation/list_collections/result.rb +1 -1
  57. data/lib/mongo/operation/map_reduce/result.rb +1 -1
  58. data/lib/mongo/operation/op_msg_base.rb +3 -1
  59. data/lib/mongo/operation/result.rb +26 -5
  60. data/lib/mongo/operation/shared/executable.rb +12 -1
  61. data/lib/mongo/operation/shared/op_msg_executable.rb +4 -1
  62. data/lib/mongo/operation/shared/response_handling.rb +3 -3
  63. data/lib/mongo/operation/shared/sessions_supported.rb +1 -1
  64. data/lib/mongo/operation/shared/timed.rb +52 -0
  65. data/lib/mongo/operation/shared/write.rb +4 -1
  66. data/lib/mongo/operation/update/op_msg.rb +2 -1
  67. data/lib/mongo/operation/update_search_index/op_msg.rb +2 -2
  68. data/lib/mongo/operation.rb +1 -0
  69. data/lib/mongo/protocol/message.rb +1 -4
  70. data/lib/mongo/protocol/msg.rb +2 -2
  71. data/lib/mongo/retryable/read_worker.rb +69 -29
  72. data/lib/mongo/retryable/write_worker.rb +49 -18
  73. data/lib/mongo/retryable.rb +8 -2
  74. data/lib/mongo/server/connection.rb +11 -5
  75. data/lib/mongo/server/connection_base.rb +22 -2
  76. data/lib/mongo/server/connection_pool.rb +32 -14
  77. data/lib/mongo/server/description/features.rb +1 -1
  78. data/lib/mongo/server/description.rb +18 -5
  79. data/lib/mongo/server/monitor.rb +7 -4
  80. data/lib/mongo/server/pending_connection.rb +7 -3
  81. data/lib/mongo/server/{round_trip_time_averager.rb → round_trip_time_calculator.rb} +25 -7
  82. data/lib/mongo/server.rb +11 -6
  83. data/lib/mongo/server_selector/base.rb +25 -9
  84. data/lib/mongo/session.rb +78 -9
  85. data/lib/mongo/socket/ssl.rb +113 -30
  86. data/lib/mongo/socket/tcp.rb +40 -6
  87. data/lib/mongo/socket.rb +154 -25
  88. data/lib/mongo/uri/options_mapper.rb +1 -0
  89. data/lib/mongo/version.rb +15 -4
  90. data/lib/mongo.rb +1 -0
  91. data/spec/atlas/atlas_connectivity_spec.rb +4 -0
  92. data/spec/atlas/operations_spec.rb +4 -0
  93. data/spec/integration/client_side_encryption/auto_encryption_mongocryptd_spawn_spec.rb +2 -1
  94. data/spec/integration/client_side_encryption/auto_encryption_spec.rb +494 -487
  95. data/spec/integration/client_side_encryption/on_demand_aws_credentials_spec.rb +1 -1
  96. data/spec/integration/client_side_encryption/range_explicit_encryption_prose_spec.rb +66 -22
  97. data/spec/integration/client_side_operations_timeout/encryption_prose_spec.rb +131 -0
  98. data/spec/integration/connection_pool_populator_spec.rb +2 -0
  99. data/spec/integration/cursor_pinning_spec.rb +15 -60
  100. data/spec/integration/cursor_reaping_spec.rb +1 -1
  101. data/spec/integration/docs_examples_spec.rb +1 -1
  102. data/spec/integration/ocsp_verifier_spec.rb +99 -30
  103. data/spec/integration/operation_failure_code_spec.rb +1 -1
  104. data/spec/integration/operation_failure_message_spec.rb +3 -3
  105. data/spec/integration/reconnect_spec.rb +2 -8
  106. data/spec/integration/retryable_errors_spec.rb +2 -2
  107. data/spec/integration/sdam_error_handling_spec.rb +2 -1
  108. data/spec/integration/search_indexes_prose_spec.rb +4 -0
  109. data/spec/integration/server_spec.rb +4 -3
  110. data/spec/integration/srv_monitoring_spec.rb +3 -2
  111. data/spec/integration/srv_spec.rb +4 -0
  112. data/spec/integration/transactions_api_examples_spec.rb +2 -0
  113. data/spec/kerberos/kerberos_spec.rb +4 -0
  114. data/spec/lite_spec_helper.rb +3 -1
  115. data/spec/mongo/auth/user/view_spec.rb +1 -1
  116. data/spec/mongo/caching_cursor_spec.rb +1 -1
  117. data/spec/mongo/client_encryption_spec.rb +1 -0
  118. data/spec/mongo/client_spec.rb +158 -4
  119. data/spec/mongo/collection/view/aggregation_spec.rb +14 -39
  120. data/spec/mongo/collection/view/change_stream_spec.rb +3 -3
  121. data/spec/mongo/collection_spec.rb +5 -6
  122. data/spec/mongo/crypt/auto_encrypter_spec.rb +14 -12
  123. data/spec/mongo/crypt/data_key_context_spec.rb +3 -1
  124. data/spec/mongo/crypt/explicit_encryption_context_spec.rb +2 -2
  125. data/spec/mongo/crypt/handle_spec.rb +1 -1
  126. data/spec/mongo/cursor_spec.rb +26 -9
  127. data/spec/mongo/error/operation_failure_heavy_spec.rb +2 -2
  128. data/spec/mongo/operation/context_spec.rb +79 -0
  129. data/spec/mongo/operation/create/op_msg_spec.rb +106 -110
  130. data/spec/mongo/operation/delete/op_msg_spec.rb +6 -5
  131. data/spec/mongo/operation/find/op_msg_spec.rb +66 -0
  132. data/spec/mongo/operation/get_more/op_msg_spec.rb +65 -0
  133. data/spec/mongo/operation/insert/op_msg_spec.rb +128 -131
  134. data/spec/mongo/operation/shared/csot/examples.rb +113 -0
  135. data/spec/mongo/query_cache_spec.rb +243 -225
  136. data/spec/mongo/retryable_spec.rb +1 -0
  137. data/spec/mongo/server/round_trip_time_calculator_spec.rb +120 -0
  138. data/spec/mongo/socket/ssl_spec.rb +0 -10
  139. data/spec/runners/change_streams/test.rb +2 -2
  140. data/spec/runners/crud/operation.rb +1 -1
  141. data/spec/runners/crud/verifier.rb +3 -1
  142. data/spec/runners/transactions/operation.rb +4 -6
  143. data/spec/runners/unified/ambiguous_operations.rb +13 -0
  144. data/spec/runners/unified/assertions.rb +4 -0
  145. data/spec/runners/unified/change_stream_operations.rb +14 -24
  146. data/spec/runners/unified/crud_operations.rb +82 -59
  147. data/spec/runners/unified/ddl_operations.rb +38 -7
  148. data/spec/runners/unified/grid_fs_operations.rb +37 -2
  149. data/spec/runners/unified/support_operations.rb +43 -4
  150. data/spec/runners/unified/test.rb +22 -10
  151. data/spec/runners/unified.rb +1 -1
  152. data/spec/solo/clean_exit_spec.rb +2 -0
  153. data/spec/spec_tests/client_side_operations_timeout_spec.rb +15 -0
  154. data/spec/spec_tests/data/change_streams_unified/change-streams-clusterTime.yml +3 -1
  155. data/spec/spec_tests/data/change_streams_unified/change-streams-disambiguatedPaths.yml +3 -1
  156. data/spec/spec_tests/data/change_streams_unified/change-streams-errors.yml +3 -1
  157. data/spec/spec_tests/data/change_streams_unified/change-streams-pre_and_post_images.yml +1 -1
  158. data/spec/spec_tests/data/change_streams_unified/change-streams-resume-allowlist.yml +1 -1
  159. data/spec/spec_tests/data/change_streams_unified/change-streams-resume-errorLabels.yml +1 -1
  160. data/spec/spec_tests/data/change_streams_unified/change-streams-showExpandedEvents.yml +1 -1
  161. data/spec/spec_tests/data/client_side_encryption/badQueries.yml +2 -1
  162. data/spec/spec_tests/data/client_side_encryption/timeoutMS.yml +67 -0
  163. data/spec/spec_tests/data/client_side_operations_timeout/bulkWrite.yml +87 -0
  164. data/spec/spec_tests/data/client_side_operations_timeout/change-streams.yml +358 -0
  165. data/spec/spec_tests/data/client_side_operations_timeout/close-cursors.yml +129 -0
  166. data/spec/spec_tests/data/client_side_operations_timeout/command-execution.yml +250 -0
  167. data/spec/spec_tests/data/client_side_operations_timeout/convenient-transactions.yml +113 -0
  168. data/spec/spec_tests/data/client_side_operations_timeout/cursors.yml +70 -0
  169. data/spec/spec_tests/data/client_side_operations_timeout/deprecated-options.yml +3982 -0
  170. data/spec/spec_tests/data/client_side_operations_timeout/error-transformations.yml +96 -0
  171. data/spec/spec_tests/data/client_side_operations_timeout/global-timeoutMS.yml +3236 -0
  172. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-advanced.yml +207 -0
  173. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-delete.yml +152 -0
  174. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-download.yml +182 -0
  175. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-find.yml +100 -0
  176. data/spec/spec_tests/data/client_side_operations_timeout/gridfs-upload.yml +249 -0
  177. data/spec/spec_tests/data/client_side_operations_timeout/legacy-timeouts.yml +204 -0
  178. data/spec/spec_tests/data/client_side_operations_timeout/non-tailable-cursors.yml +307 -0
  179. data/spec/spec_tests/data/client_side_operations_timeout/override-collection-timeoutMS.yml +1877 -0
  180. data/spec/spec_tests/data/client_side_operations_timeout/override-operation-timeoutMS.yml +1918 -0
  181. data/spec/spec_tests/data/client_side_operations_timeout/retryability-legacy-timeouts.yml +1676 -0
  182. data/spec/spec_tests/data/client_side_operations_timeout/retryability-timeoutMS.yml +2824 -0
  183. data/spec/spec_tests/data/client_side_operations_timeout/sessions-inherit-timeoutMS.yml +168 -0
  184. data/spec/spec_tests/data/client_side_operations_timeout/sessions-override-operation-timeoutMS.yml +171 -0
  185. data/spec/spec_tests/data/client_side_operations_timeout/sessions-override-timeoutMS.yml +168 -0
  186. data/spec/spec_tests/data/client_side_operations_timeout/tailable-awaitData.yml +247 -0
  187. data/spec/spec_tests/data/client_side_operations_timeout/tailable-non-awaitData.yml +181 -0
  188. data/spec/spec_tests/data/crud_unified/aggregate-write-readPreference.yml +4 -0
  189. data/spec/spec_tests/data/crud_unified/db-aggregate-write-readPreference.yml +4 -0
  190. data/spec/spec_tests/data/crud_unified/find-test-all-options.yml +29 -0
  191. data/spec/spec_tests/server_selection_rtt_spec.rb +6 -6
  192. data/spec/support/certificates/atlas-ocsp-ca.crt +81 -83
  193. data/spec/support/certificates/atlas-ocsp.crt +107 -107
  194. data/spec/support/cluster_tools.rb +3 -3
  195. data/spec/support/common_shortcuts.rb +39 -21
  196. data/spec/support/constraints.rb +0 -10
  197. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Date.json +1 -1
  198. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DecimalNoPrecision.json +1 -1
  199. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DecimalPrecision.json +1 -1
  200. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DoubleNoPrecision.json +1 -1
  201. data/spec/support/crypt/encrypted_fields/range-encryptedFields-DoublePrecision.json +1 -1
  202. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Int.json +1 -1
  203. data/spec/support/crypt/encrypted_fields/range-encryptedFields-Long.json +1 -1
  204. data/spec/support/dns.rb +16 -0
  205. data/spec/support/shared/session.rb +2 -2
  206. data/spec/support/spec_setup.rb +2 -2
  207. data/spec/support/utils.rb +3 -1
  208. metadata +91 -153
  209. data/spec/mongo/server/round_trip_time_averager_spec.rb +0 -48
  210. data/spec/shared/CANDIDATE.md +0 -28
  211. data/spec/shared/LICENSE +0 -20
  212. data/spec/shared/bin/get-mongodb-download-url +0 -17
  213. data/spec/shared/bin/s3-copy +0 -45
  214. data/spec/shared/bin/s3-upload +0 -69
  215. data/spec/shared/lib/mrss/child_process_helper.rb +0 -80
  216. data/spec/shared/lib/mrss/cluster_config.rb +0 -231
  217. data/spec/shared/lib/mrss/constraints.rb +0 -378
  218. data/spec/shared/lib/mrss/docker_runner.rb +0 -298
  219. data/spec/shared/lib/mrss/eg_config_utils.rb +0 -51
  220. data/spec/shared/lib/mrss/event_subscriber.rb +0 -210
  221. data/spec/shared/lib/mrss/lite_constraints.rb +0 -238
  222. data/spec/shared/lib/mrss/release/candidate.rb +0 -281
  223. data/spec/shared/lib/mrss/release/product_data.rb +0 -144
  224. data/spec/shared/lib/mrss/server_version_registry.rb +0 -113
  225. data/spec/shared/lib/mrss/session_registry.rb +0 -69
  226. data/spec/shared/lib/mrss/session_registry_legacy.rb +0 -60
  227. data/spec/shared/lib/mrss/spec_organizer.rb +0 -179
  228. data/spec/shared/lib/mrss/utils.rb +0 -37
  229. data/spec/shared/lib/tasks/candidate.rake +0 -64
  230. data/spec/shared/share/Dockerfile.erb +0 -251
  231. data/spec/shared/share/haproxy-1.conf +0 -16
  232. data/spec/shared/share/haproxy-2.conf +0 -17
  233. data/spec/shared/shlib/config.sh +0 -27
  234. data/spec/shared/shlib/distro.sh +0 -84
  235. data/spec/shared/shlib/server.sh +0 -423
  236. data/spec/shared/shlib/set_env.sh +0 -110
  237. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Aggregate.yml +0 -242
  238. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Correctness.yml +0 -423
  239. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Delete.yml +0 -183
  240. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-FindOneAndUpdate.yml +0 -240
  241. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-InsertFind.yml +0 -236
  242. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Update.yml +0 -253
  243. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Aggregate.yml +0 -1688
  244. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Correctness.yml +0 -294
  245. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Delete.yml +0 -906
  246. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-FindOneAndUpdate.yml +0 -1685
  247. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-InsertFind.yml +0 -1681
  248. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Update.yml +0 -1698
  249. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Aggregate.yml +0 -330
  250. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Correctness.yml +0 -425
  251. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Delete.yml +0 -227
  252. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.yml +0 -328
  253. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-InsertFind.yml +0 -320
  254. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Update.yml +0 -337
  255. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Aggregate.yml +0 -914
  256. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Correctness.yml +0 -293
  257. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Delete.yml +0 -519
  258. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-FindOneAndUpdate.yml +0 -912
  259. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-InsertFind.yml +0 -908
  260. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Update.yml +0 -925
  261. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Aggregate.yml +0 -326
  262. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Correctness.yml +0 -425
  263. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Delete.yml +0 -225
  264. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-FindOneAndUpdate.yml +0 -324
  265. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-InsertFind.yml +0 -320
  266. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Update.yml +0 -339
  267. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Aggregate.yml +0 -242
  268. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Correctness.yml +0 -424
  269. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Delete.yml +0 -183
  270. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-FindOneAndUpdate.yml +0 -240
  271. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-InsertFind.yml +0 -236
  272. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Update.yml +0 -255
  273. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Aggregate.yml +0 -242
  274. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Correctness.yml +0 -423
  275. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Delete.yml +0 -183
  276. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-FindOneAndUpdate.yml +0 -240
  277. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-InsertFind.yml +0 -236
  278. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Update.yml +0 -255
  279. data/spec/spec_tests/data/client_side_encryption/fle2v2-Range-WrongType.yml +0 -44
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.20.2
4
+ version: 2.21.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The MongoDB Ruby Team
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2024-09-19 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: bson
@@ -116,6 +117,7 @@ files:
116
117
  - lib/mongo/collection/queryable_encryption.rb
117
118
  - lib/mongo/collection/view.rb
118
119
  - lib/mongo/collection/view/aggregation.rb
120
+ - lib/mongo/collection/view/aggregation/behavior.rb
119
121
  - lib/mongo/collection/view/builder.rb
120
122
  - lib/mongo/collection/view/builder/aggregation.rb
121
123
  - lib/mongo/collection/view/builder/map_reduce.rb
@@ -171,8 +173,11 @@ files:
171
173
  - lib/mongo/crypt/rewrap_many_data_key_context.rb
172
174
  - lib/mongo/crypt/rewrap_many_data_key_result.rb
173
175
  - lib/mongo/crypt/status.rb
176
+ - lib/mongo/csot_timeout_holder.rb
174
177
  - lib/mongo/cursor.rb
175
178
  - lib/mongo/cursor/kill_spec.rb
179
+ - lib/mongo/cursor/nontailable.rb
180
+ - lib/mongo/cursor_host.rb
176
181
  - lib/mongo/database.rb
177
182
  - lib/mongo/database/view.rb
178
183
  - lib/mongo/dbref.rb
@@ -254,6 +259,7 @@ files:
254
259
  - lib/mongo/error/server_api_not_supported.rb
255
260
  - lib/mongo/error/server_certificate_revoked.rb
256
261
  - lib/mongo/error/server_not_usable.rb
262
+ - lib/mongo/error/server_timeout_error.rb
257
263
  - lib/mongo/error/session_ended.rb
258
264
  - lib/mongo/error/session_not_materialized.rb
259
265
  - lib/mongo/error/sessions_not_supported.rb
@@ -261,6 +267,7 @@ files:
261
267
  - lib/mongo/error/snapshot_session_transaction_prohibited.rb
262
268
  - lib/mongo/error/socket_error.rb
263
269
  - lib/mongo/error/socket_timeout_error.rb
270
+ - lib/mongo/error/timeout_error.rb
264
271
  - lib/mongo/error/transactions_not_supported.rb
265
272
  - lib/mongo/error/unchangeable_collection_option.rb
266
273
  - lib/mongo/error/unexpected_chunk_length.rb
@@ -418,6 +425,7 @@ files:
418
425
  - lib/mongo/operation/shared/result/use_legacy_error_parser.rb
419
426
  - lib/mongo/operation/shared/sessions_supported.rb
420
427
  - lib/mongo/operation/shared/specifiable.rb
428
+ - lib/mongo/operation/shared/timed.rb
421
429
  - lib/mongo/operation/shared/validatable.rb
422
430
  - lib/mongo/operation/shared/write.rb
423
431
  - lib/mongo/operation/shared/write_concern_supported.rb
@@ -476,7 +484,7 @@ files:
476
484
  - lib/mongo/server/pending_connection.rb
477
485
  - lib/mongo/server/push_monitor.rb
478
486
  - lib/mongo/server/push_monitor/connection.rb
479
- - lib/mongo/server/round_trip_time_averager.rb
487
+ - lib/mongo/server/round_trip_time_calculator.rb
480
488
  - lib/mongo/server_selector.rb
481
489
  - lib/mongo/server_selector/base.rb
482
490
  - lib/mongo/server_selector/nearest.rb
@@ -565,6 +573,7 @@ files:
565
573
  - spec/integration/client_side_encryption/rewrap_prose_spec.rb
566
574
  - spec/integration/client_side_encryption/unique_index_on_key_alt_names_prose_spec.rb
567
575
  - spec/integration/client_side_encryption/views_spec.rb
576
+ - spec/integration/client_side_operations_timeout/encryption_prose_spec.rb
568
577
  - spec/integration/client_spec.rb
569
578
  - spec/integration/client_update_spec.rb
570
579
  - spec/integration/collection_indexes_prose_spec.rb
@@ -782,6 +791,7 @@ files:
782
791
  - spec/mongo/operation/aggregate_spec.rb
783
792
  - spec/mongo/operation/collections_info_spec.rb
784
793
  - spec/mongo/operation/command_spec.rb
794
+ - spec/mongo/operation/context_spec.rb
785
795
  - spec/mongo/operation/create/op_msg_spec.rb
786
796
  - spec/mongo/operation/create_index_spec.rb
787
797
  - spec/mongo/operation/create_user_spec.rb
@@ -791,6 +801,8 @@ files:
791
801
  - spec/mongo/operation/drop_index_spec.rb
792
802
  - spec/mongo/operation/find/builder/flags_spec.rb
793
803
  - spec/mongo/operation/find/builder/modifiers_spec.rb
804
+ - spec/mongo/operation/find/op_msg_spec.rb
805
+ - spec/mongo/operation/get_more/op_msg_spec.rb
794
806
  - spec/mongo/operation/indexes_spec.rb
795
807
  - spec/mongo/operation/insert/bulk_spec.rb
796
808
  - spec/mongo/operation/insert/op_msg_spec.rb
@@ -801,6 +813,7 @@ files:
801
813
  - spec/mongo/operation/read_preference_op_msg_spec.rb
802
814
  - spec/mongo/operation/remove_user_spec.rb
803
815
  - spec/mongo/operation/result_spec.rb
816
+ - spec/mongo/operation/shared/csot/examples.rb
804
817
  - spec/mongo/operation/specifiable_spec.rb
805
818
  - spec/mongo/operation/update/bulk_spec.rb
806
819
  - spec/mongo/operation/update/op_msg_spec.rb
@@ -835,7 +848,7 @@ files:
835
848
  - spec/mongo/server/monitor/connection_spec.rb
836
849
  - spec/mongo/server/monitor_spec.rb
837
850
  - spec/mongo/server/push_monitor_spec.rb
838
- - spec/mongo/server/round_trip_time_averager_spec.rb
851
+ - spec/mongo/server/round_trip_time_calculator_spec.rb
839
852
  - spec/mongo/server_selector/nearest_spec.rb
840
853
  - spec/mongo/server_selector/primary_preferred_spec.rb
841
854
  - spec/mongo/server_selector/primary_spec.rb
@@ -891,6 +904,7 @@ files:
891
904
  - spec/runners/transactions/spec.rb
892
905
  - spec/runners/transactions/test.rb
893
906
  - spec/runners/unified.rb
907
+ - spec/runners/unified/ambiguous_operations.rb
894
908
  - spec/runners/unified/assertions.rb
895
909
  - spec/runners/unified/change_stream_operations.rb
896
910
  - spec/runners/unified/client_side_encryption_operations.rb
@@ -906,39 +920,13 @@ files:
906
920
  - spec/runners/unified/test.rb
907
921
  - spec/runners/unified/test_group.rb
908
922
  - spec/runners/unified/thread_operations.rb
909
- - spec/shared/CANDIDATE.md
910
- - spec/shared/LICENSE
911
- - spec/shared/bin/get-mongodb-download-url
912
- - spec/shared/bin/s3-copy
913
- - spec/shared/bin/s3-upload
914
- - spec/shared/lib/mrss/child_process_helper.rb
915
- - spec/shared/lib/mrss/cluster_config.rb
916
- - spec/shared/lib/mrss/constraints.rb
917
- - spec/shared/lib/mrss/docker_runner.rb
918
- - spec/shared/lib/mrss/eg_config_utils.rb
919
- - spec/shared/lib/mrss/event_subscriber.rb
920
- - spec/shared/lib/mrss/lite_constraints.rb
921
- - spec/shared/lib/mrss/release/candidate.rb
922
- - spec/shared/lib/mrss/release/product_data.rb
923
- - spec/shared/lib/mrss/server_version_registry.rb
924
- - spec/shared/lib/mrss/session_registry.rb
925
- - spec/shared/lib/mrss/session_registry_legacy.rb
926
- - spec/shared/lib/mrss/spec_organizer.rb
927
- - spec/shared/lib/mrss/utils.rb
928
- - spec/shared/lib/tasks/candidate.rake
929
- - spec/shared/share/Dockerfile.erb
930
- - spec/shared/share/haproxy-1.conf
931
- - spec/shared/share/haproxy-2.conf
932
- - spec/shared/shlib/config.sh
933
- - spec/shared/shlib/distro.sh
934
- - spec/shared/shlib/server.sh
935
- - spec/shared/shlib/set_env.sh
936
923
  - spec/solo/clean_exit_spec.rb
937
924
  - spec/spec_helper.rb
938
925
  - spec/spec_tests/auth_spec.rb
939
926
  - spec/spec_tests/change_streams_unified_spec.rb
940
927
  - spec/spec_tests/client_side_encryption_spec.rb
941
928
  - spec/spec_tests/client_side_encryption_unified_spec.rb
929
+ - spec/spec_tests/client_side_operations_timeout_spec.rb
942
930
  - spec/spec_tests/cmap_spec.rb
943
931
  - spec/spec_tests/collection_management_spec.rb
944
932
  - spec/spec_tests/command_monitoring_unified_spec.rb
@@ -987,49 +975,6 @@ files:
987
975
  - spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Unindexed.yml
988
976
  - spec/spec_tests/data/client_side_encryption/fle2v2-MissingKey.yml
989
977
  - spec/spec_tests/data/client_side_encryption/fle2v2-NoEncryption.yml
990
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Aggregate.yml
991
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Correctness.yml
992
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Delete.yml
993
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-FindOneAndUpdate.yml
994
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-InsertFind.yml
995
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Update.yml
996
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Aggregate.yml
997
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Correctness.yml
998
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Delete.yml
999
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-FindOneAndUpdate.yml
1000
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-InsertFind.yml
1001
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Update.yml
1002
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Aggregate.yml
1003
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Correctness.yml
1004
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Delete.yml
1005
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.yml
1006
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-InsertFind.yml
1007
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Update.yml
1008
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Aggregate.yml
1009
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Correctness.yml
1010
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Delete.yml
1011
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-FindOneAndUpdate.yml
1012
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-InsertFind.yml
1013
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Update.yml
1014
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Aggregate.yml
1015
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Correctness.yml
1016
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Delete.yml
1017
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-FindOneAndUpdate.yml
1018
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-InsertFind.yml
1019
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Update.yml
1020
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Aggregate.yml
1021
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Correctness.yml
1022
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Delete.yml
1023
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-FindOneAndUpdate.yml
1024
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-InsertFind.yml
1025
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Update.yml
1026
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Aggregate.yml
1027
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Correctness.yml
1028
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Delete.yml
1029
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-FindOneAndUpdate.yml
1030
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-InsertFind.yml
1031
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Update.yml
1032
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-WrongType.yml
1033
978
  - spec/spec_tests/data/client_side_encryption/fle2v2-Update.yml
1034
979
  - spec/spec_tests/data/client_side_encryption/fle2v2-validatorAndPartialFieldExpression.yml
1035
980
  - spec/spec_tests/data/client_side_encryption/gcpKMS.yml
@@ -1043,6 +988,7 @@ files:
1043
988
  - spec/spec_tests/data/client_side_encryption/missingKey.yml
1044
989
  - spec/spec_tests/data/client_side_encryption/noSchema.yml
1045
990
  - spec/spec_tests/data/client_side_encryption/replaceOne.yml
991
+ - spec/spec_tests/data/client_side_encryption/timeoutMS.yml
1046
992
  - spec/spec_tests/data/client_side_encryption/types.yml
1047
993
  - spec/spec_tests/data/client_side_encryption/unified/addKeyAltName.yml
1048
994
  - spec/spec_tests/data/client_side_encryption/unified/createDataKey-kms_providers-invalid.yml
@@ -1059,6 +1005,31 @@ files:
1059
1005
  - spec/spec_tests/data/client_side_encryption/updateMany.yml
1060
1006
  - spec/spec_tests/data/client_side_encryption/updateOne.yml
1061
1007
  - spec/spec_tests/data/client_side_encryption/validatorAndPartialFieldExpression.yml
1008
+ - spec/spec_tests/data/client_side_operations_timeout/bulkWrite.yml
1009
+ - spec/spec_tests/data/client_side_operations_timeout/change-streams.yml
1010
+ - spec/spec_tests/data/client_side_operations_timeout/close-cursors.yml
1011
+ - spec/spec_tests/data/client_side_operations_timeout/command-execution.yml
1012
+ - spec/spec_tests/data/client_side_operations_timeout/convenient-transactions.yml
1013
+ - spec/spec_tests/data/client_side_operations_timeout/cursors.yml
1014
+ - spec/spec_tests/data/client_side_operations_timeout/deprecated-options.yml
1015
+ - spec/spec_tests/data/client_side_operations_timeout/error-transformations.yml
1016
+ - spec/spec_tests/data/client_side_operations_timeout/global-timeoutMS.yml
1017
+ - spec/spec_tests/data/client_side_operations_timeout/gridfs-advanced.yml
1018
+ - spec/spec_tests/data/client_side_operations_timeout/gridfs-delete.yml
1019
+ - spec/spec_tests/data/client_side_operations_timeout/gridfs-download.yml
1020
+ - spec/spec_tests/data/client_side_operations_timeout/gridfs-find.yml
1021
+ - spec/spec_tests/data/client_side_operations_timeout/gridfs-upload.yml
1022
+ - spec/spec_tests/data/client_side_operations_timeout/legacy-timeouts.yml
1023
+ - spec/spec_tests/data/client_side_operations_timeout/non-tailable-cursors.yml
1024
+ - spec/spec_tests/data/client_side_operations_timeout/override-collection-timeoutMS.yml
1025
+ - spec/spec_tests/data/client_side_operations_timeout/override-operation-timeoutMS.yml
1026
+ - spec/spec_tests/data/client_side_operations_timeout/retryability-legacy-timeouts.yml
1027
+ - spec/spec_tests/data/client_side_operations_timeout/retryability-timeoutMS.yml
1028
+ - spec/spec_tests/data/client_side_operations_timeout/sessions-inherit-timeoutMS.yml
1029
+ - spec/spec_tests/data/client_side_operations_timeout/sessions-override-operation-timeoutMS.yml
1030
+ - spec/spec_tests/data/client_side_operations_timeout/sessions-override-timeoutMS.yml
1031
+ - spec/spec_tests/data/client_side_operations_timeout/tailable-awaitData.yml
1032
+ - spec/spec_tests/data/client_side_operations_timeout/tailable-non-awaitData.yml
1062
1033
  - spec/spec_tests/data/cmap/connection-must-have-id.yml
1063
1034
  - spec/spec_tests/data/cmap/connection-must-order-ids.yml
1064
1035
  - spec/spec_tests/data/cmap/pool-checkin-destroy-closed.yml
@@ -1920,6 +1891,7 @@ files:
1920
1891
  - spec/support/crypt/schema_maps/schema_map_kmip_key_alt_names.json
1921
1892
  - spec/support/crypt/schema_maps/schema_map_local.json
1922
1893
  - spec/support/crypt/schema_maps/schema_map_local_key_alt_names.json
1894
+ - spec/support/dns.rb
1923
1895
  - spec/support/json_ext_formatter.rb
1924
1896
  - spec/support/keyword_struct.rb
1925
1897
  - spec/support/local_resource_registry.rb
@@ -1950,6 +1922,7 @@ metadata:
1950
1922
  homepage_uri: https://mongodb.com/docs/ruby-driver/
1951
1923
  documentation_uri: https://mongodb.com/docs/ruby-driver/current/tutorials/quick-start/
1952
1924
  source_code_uri: https://github.com/mongodb/mongo-ruby-driver
1925
+ post_install_message:
1953
1926
  rdoc_options: []
1954
1927
  require_paths:
1955
1928
  - lib
@@ -1964,7 +1937,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1964
1937
  - !ruby/object:Gem::Version
1965
1938
  version: '0'
1966
1939
  requirements: []
1967
- rubygems_version: 3.7.1
1940
+ rubygems_version: 3.4.19
1941
+ signing_key:
1968
1942
  specification_version: 4
1969
1943
  summary: Ruby driver for MongoDB
1970
1944
  test_files:
@@ -2023,6 +1997,7 @@ test_files:
2023
1997
  - spec/integration/client_side_encryption/rewrap_prose_spec.rb
2024
1998
  - spec/integration/client_side_encryption/unique_index_on_key_alt_names_prose_spec.rb
2025
1999
  - spec/integration/client_side_encryption/views_spec.rb
2000
+ - spec/integration/client_side_operations_timeout/encryption_prose_spec.rb
2026
2001
  - spec/integration/client_spec.rb
2027
2002
  - spec/integration/client_update_spec.rb
2028
2003
  - spec/integration/collection_indexes_prose_spec.rb
@@ -2240,6 +2215,7 @@ test_files:
2240
2215
  - spec/mongo/operation/aggregate_spec.rb
2241
2216
  - spec/mongo/operation/collections_info_spec.rb
2242
2217
  - spec/mongo/operation/command_spec.rb
2218
+ - spec/mongo/operation/context_spec.rb
2243
2219
  - spec/mongo/operation/create/op_msg_spec.rb
2244
2220
  - spec/mongo/operation/create_index_spec.rb
2245
2221
  - spec/mongo/operation/create_user_spec.rb
@@ -2249,6 +2225,8 @@ test_files:
2249
2225
  - spec/mongo/operation/drop_index_spec.rb
2250
2226
  - spec/mongo/operation/find/builder/flags_spec.rb
2251
2227
  - spec/mongo/operation/find/builder/modifiers_spec.rb
2228
+ - spec/mongo/operation/find/op_msg_spec.rb
2229
+ - spec/mongo/operation/get_more/op_msg_spec.rb
2252
2230
  - spec/mongo/operation/indexes_spec.rb
2253
2231
  - spec/mongo/operation/insert/bulk_spec.rb
2254
2232
  - spec/mongo/operation/insert/op_msg_spec.rb
@@ -2259,6 +2237,7 @@ test_files:
2259
2237
  - spec/mongo/operation/read_preference_op_msg_spec.rb
2260
2238
  - spec/mongo/operation/remove_user_spec.rb
2261
2239
  - spec/mongo/operation/result_spec.rb
2240
+ - spec/mongo/operation/shared/csot/examples.rb
2262
2241
  - spec/mongo/operation/specifiable_spec.rb
2263
2242
  - spec/mongo/operation/update/bulk_spec.rb
2264
2243
  - spec/mongo/operation/update/op_msg_spec.rb
@@ -2293,7 +2272,7 @@ test_files:
2293
2272
  - spec/mongo/server/monitor/connection_spec.rb
2294
2273
  - spec/mongo/server/monitor_spec.rb
2295
2274
  - spec/mongo/server/push_monitor_spec.rb
2296
- - spec/mongo/server/round_trip_time_averager_spec.rb
2275
+ - spec/mongo/server/round_trip_time_calculator_spec.rb
2297
2276
  - spec/mongo/server_selector/nearest_spec.rb
2298
2277
  - spec/mongo/server_selector/primary_preferred_spec.rb
2299
2278
  - spec/mongo/server_selector/primary_spec.rb
@@ -2325,11 +2304,10 @@ test_files:
2325
2304
  - spec/runners/change_streams/outcome.rb
2326
2305
  - spec/runners/change_streams/spec.rb
2327
2306
  - spec/runners/change_streams/test.rb
2328
- - spec/runners/cmap.rb
2329
2307
  - spec/runners/cmap/verifier.rb
2308
+ - spec/runners/cmap.rb
2330
2309
  - spec/runners/command_monitoring.rb
2331
2310
  - spec/runners/connection_string.rb
2332
- - spec/runners/crud.rb
2333
2311
  - spec/runners/crud/context.rb
2334
2312
  - spec/runners/crud/operation.rb
2335
2313
  - spec/runners/crud/outcome.rb
@@ -2338,17 +2316,18 @@ test_files:
2338
2316
  - spec/runners/crud/test.rb
2339
2317
  - spec/runners/crud/test_base.rb
2340
2318
  - spec/runners/crud/verifier.rb
2319
+ - spec/runners/crud.rb
2341
2320
  - spec/runners/gridfs.rb
2342
2321
  - spec/runners/read_write_concern_document.rb
2343
- - spec/runners/sdam.rb
2344
2322
  - spec/runners/sdam/verifier.rb
2323
+ - spec/runners/sdam.rb
2345
2324
  - spec/runners/server_selection.rb
2346
2325
  - spec/runners/server_selection_rtt.rb
2347
- - spec/runners/transactions.rb
2348
2326
  - spec/runners/transactions/operation.rb
2349
2327
  - spec/runners/transactions/spec.rb
2350
2328
  - spec/runners/transactions/test.rb
2351
- - spec/runners/unified.rb
2329
+ - spec/runners/transactions.rb
2330
+ - spec/runners/unified/ambiguous_operations.rb
2352
2331
  - spec/runners/unified/assertions.rb
2353
2332
  - spec/runners/unified/change_stream_operations.rb
2354
2333
  - spec/runners/unified/client_side_encryption_operations.rb
@@ -2364,39 +2343,14 @@ test_files:
2364
2343
  - spec/runners/unified/test.rb
2365
2344
  - spec/runners/unified/test_group.rb
2366
2345
  - spec/runners/unified/thread_operations.rb
2367
- - spec/shared/CANDIDATE.md
2368
- - spec/shared/LICENSE
2369
- - spec/shared/bin/get-mongodb-download-url
2370
- - spec/shared/bin/s3-copy
2371
- - spec/shared/bin/s3-upload
2372
- - spec/shared/lib/mrss/child_process_helper.rb
2373
- - spec/shared/lib/mrss/cluster_config.rb
2374
- - spec/shared/lib/mrss/constraints.rb
2375
- - spec/shared/lib/mrss/docker_runner.rb
2376
- - spec/shared/lib/mrss/eg_config_utils.rb
2377
- - spec/shared/lib/mrss/event_subscriber.rb
2378
- - spec/shared/lib/mrss/lite_constraints.rb
2379
- - spec/shared/lib/mrss/release/candidate.rb
2380
- - spec/shared/lib/mrss/release/product_data.rb
2381
- - spec/shared/lib/mrss/server_version_registry.rb
2382
- - spec/shared/lib/mrss/session_registry.rb
2383
- - spec/shared/lib/mrss/session_registry_legacy.rb
2384
- - spec/shared/lib/mrss/spec_organizer.rb
2385
- - spec/shared/lib/mrss/utils.rb
2386
- - spec/shared/lib/tasks/candidate.rake
2387
- - spec/shared/share/Dockerfile.erb
2388
- - spec/shared/share/haproxy-1.conf
2389
- - spec/shared/share/haproxy-2.conf
2390
- - spec/shared/shlib/config.sh
2391
- - spec/shared/shlib/distro.sh
2392
- - spec/shared/shlib/server.sh
2393
- - spec/shared/shlib/set_env.sh
2346
+ - spec/runners/unified.rb
2394
2347
  - spec/solo/clean_exit_spec.rb
2395
2348
  - spec/spec_helper.rb
2396
2349
  - spec/spec_tests/auth_spec.rb
2397
2350
  - spec/spec_tests/change_streams_unified_spec.rb
2398
2351
  - spec/spec_tests/client_side_encryption_spec.rb
2399
2352
  - spec/spec_tests/client_side_encryption_unified_spec.rb
2353
+ - spec/spec_tests/client_side_operations_timeout_spec.rb
2400
2354
  - spec/spec_tests/cmap_spec.rb
2401
2355
  - spec/spec_tests/collection_management_spec.rb
2402
2356
  - spec/spec_tests/command_monitoring_unified_spec.rb
@@ -2445,49 +2399,6 @@ test_files:
2445
2399
  - spec/spec_tests/data/client_side_encryption/fle2v2-InsertFind-Unindexed.yml
2446
2400
  - spec/spec_tests/data/client_side_encryption/fle2v2-MissingKey.yml
2447
2401
  - spec/spec_tests/data/client_side_encryption/fle2v2-NoEncryption.yml
2448
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Aggregate.yml
2449
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Correctness.yml
2450
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Delete.yml
2451
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-FindOneAndUpdate.yml
2452
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-InsertFind.yml
2453
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Date-Update.yml
2454
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Aggregate.yml
2455
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Correctness.yml
2456
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Delete.yml
2457
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-FindOneAndUpdate.yml
2458
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-InsertFind.yml
2459
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Decimal-Update.yml
2460
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Aggregate.yml
2461
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Correctness.yml
2462
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Delete.yml
2463
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-FindOneAndUpdate.yml
2464
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-InsertFind.yml
2465
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DecimalPrecision-Update.yml
2466
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Aggregate.yml
2467
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Correctness.yml
2468
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Delete.yml
2469
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-FindOneAndUpdate.yml
2470
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-InsertFind.yml
2471
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Double-Update.yml
2472
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Aggregate.yml
2473
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Correctness.yml
2474
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Delete.yml
2475
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-FindOneAndUpdate.yml
2476
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-InsertFind.yml
2477
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-DoublePrecision-Update.yml
2478
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Aggregate.yml
2479
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Correctness.yml
2480
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Delete.yml
2481
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-FindOneAndUpdate.yml
2482
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-InsertFind.yml
2483
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Int-Update.yml
2484
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Aggregate.yml
2485
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Correctness.yml
2486
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Delete.yml
2487
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-FindOneAndUpdate.yml
2488
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-InsertFind.yml
2489
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-Long-Update.yml
2490
- - spec/spec_tests/data/client_side_encryption/fle2v2-Range-WrongType.yml
2491
2402
  - spec/spec_tests/data/client_side_encryption/fle2v2-Update.yml
2492
2403
  - spec/spec_tests/data/client_side_encryption/fle2v2-validatorAndPartialFieldExpression.yml
2493
2404
  - spec/spec_tests/data/client_side_encryption/gcpKMS.yml
@@ -2501,6 +2412,7 @@ test_files:
2501
2412
  - spec/spec_tests/data/client_side_encryption/missingKey.yml
2502
2413
  - spec/spec_tests/data/client_side_encryption/noSchema.yml
2503
2414
  - spec/spec_tests/data/client_side_encryption/replaceOne.yml
2415
+ - spec/spec_tests/data/client_side_encryption/timeoutMS.yml
2504
2416
  - spec/spec_tests/data/client_side_encryption/types.yml
2505
2417
  - spec/spec_tests/data/client_side_encryption/unified/addKeyAltName.yml
2506
2418
  - spec/spec_tests/data/client_side_encryption/unified/createDataKey-kms_providers-invalid.yml
@@ -2517,6 +2429,31 @@ test_files:
2517
2429
  - spec/spec_tests/data/client_side_encryption/updateMany.yml
2518
2430
  - spec/spec_tests/data/client_side_encryption/updateOne.yml
2519
2431
  - spec/spec_tests/data/client_side_encryption/validatorAndPartialFieldExpression.yml
2432
+ - spec/spec_tests/data/client_side_operations_timeout/bulkWrite.yml
2433
+ - spec/spec_tests/data/client_side_operations_timeout/change-streams.yml
2434
+ - spec/spec_tests/data/client_side_operations_timeout/close-cursors.yml
2435
+ - spec/spec_tests/data/client_side_operations_timeout/command-execution.yml
2436
+ - spec/spec_tests/data/client_side_operations_timeout/convenient-transactions.yml
2437
+ - spec/spec_tests/data/client_side_operations_timeout/cursors.yml
2438
+ - spec/spec_tests/data/client_side_operations_timeout/deprecated-options.yml
2439
+ - spec/spec_tests/data/client_side_operations_timeout/error-transformations.yml
2440
+ - spec/spec_tests/data/client_side_operations_timeout/global-timeoutMS.yml
2441
+ - spec/spec_tests/data/client_side_operations_timeout/gridfs-advanced.yml
2442
+ - spec/spec_tests/data/client_side_operations_timeout/gridfs-delete.yml
2443
+ - spec/spec_tests/data/client_side_operations_timeout/gridfs-download.yml
2444
+ - spec/spec_tests/data/client_side_operations_timeout/gridfs-find.yml
2445
+ - spec/spec_tests/data/client_side_operations_timeout/gridfs-upload.yml
2446
+ - spec/spec_tests/data/client_side_operations_timeout/legacy-timeouts.yml
2447
+ - spec/spec_tests/data/client_side_operations_timeout/non-tailable-cursors.yml
2448
+ - spec/spec_tests/data/client_side_operations_timeout/override-collection-timeoutMS.yml
2449
+ - spec/spec_tests/data/client_side_operations_timeout/override-operation-timeoutMS.yml
2450
+ - spec/spec_tests/data/client_side_operations_timeout/retryability-legacy-timeouts.yml
2451
+ - spec/spec_tests/data/client_side_operations_timeout/retryability-timeoutMS.yml
2452
+ - spec/spec_tests/data/client_side_operations_timeout/sessions-inherit-timeoutMS.yml
2453
+ - spec/spec_tests/data/client_side_operations_timeout/sessions-override-operation-timeoutMS.yml
2454
+ - spec/spec_tests/data/client_side_operations_timeout/sessions-override-timeoutMS.yml
2455
+ - spec/spec_tests/data/client_side_operations_timeout/tailable-awaitData.yml
2456
+ - spec/spec_tests/data/client_side_operations_timeout/tailable-non-awaitData.yml
2520
2457
  - spec/spec_tests/data/cmap/connection-must-have-id.yml
2521
2458
  - spec/spec_tests/data/cmap/connection-must-order-ids.yml
2522
2459
  - spec/spec_tests/data/cmap/pool-checkin-destroy-closed.yml
@@ -3302,11 +3239,11 @@ test_files:
3302
3239
  - spec/stress/fork_reconnect_stress_spec.rb
3303
3240
  - spec/stress/push_monitor_close_spec.rb
3304
3241
  - spec/support/authorization.rb
3305
- - spec/support/aws_utils.rb
3306
3242
  - spec/support/aws_utils/base.rb
3307
3243
  - spec/support/aws_utils/inspector.rb
3308
3244
  - spec/support/aws_utils/orchestrator.rb
3309
3245
  - spec/support/aws_utils/provisioner.rb
3246
+ - spec/support/aws_utils.rb
3310
3247
  - spec/support/background_thread_registry.rb
3311
3248
  - spec/support/certificates/README.md
3312
3249
  - spec/support/certificates/atlas-ocsp-ca.crt
@@ -3340,7 +3277,6 @@ test_files:
3340
3277
  - spec/support/cluster_tools.rb
3341
3278
  - spec/support/common_shortcuts.rb
3342
3279
  - spec/support/constraints.rb
3343
- - spec/support/crypt.rb
3344
3280
  - spec/support/crypt/corpus/corpus-encrypted.json
3345
3281
  - spec/support/crypt/corpus/corpus-key-aws.json
3346
3282
  - spec/support/crypt/corpus/corpus-key-azure.json
@@ -3378,6 +3314,8 @@ test_files:
3378
3314
  - spec/support/crypt/schema_maps/schema_map_kmip_key_alt_names.json
3379
3315
  - spec/support/crypt/schema_maps/schema_map_local.json
3380
3316
  - spec/support/crypt/schema_maps/schema_map_local_key_alt_names.json
3317
+ - spec/support/crypt.rb
3318
+ - spec/support/dns.rb
3381
3319
  - spec/support/json_ext_formatter.rb
3382
3320
  - spec/support/keyword_struct.rb
3383
3321
  - spec/support/local_resource_registry.rb
@@ -1,48 +0,0 @@
1
- # frozen_string_literal: true
2
- # rubocop:todo all
3
-
4
- require 'spec_helper'
5
-
6
- describe Mongo::Server::RoundTripTimeAverager do
7
- let(:averager) { Mongo::Server::RoundTripTimeAverager.new }
8
-
9
- describe '#update_average_round_trip_time' do
10
- context 'no existing average rtt' do
11
- it 'updates average rtt' do
12
- averager.instance_variable_set('@last_round_trip_time', 5)
13
- averager.send(:update_average_round_trip_time)
14
- expect(averager.average_round_trip_time).to eq(5)
15
- end
16
- end
17
-
18
- context 'with existing average rtt' do
19
- it 'averages with existing average rtt' do
20
- averager.instance_variable_set('@last_round_trip_time', 5)
21
- averager.instance_variable_set('@average_round_trip_time', 10)
22
- averager.send(:update_average_round_trip_time)
23
- expect(averager.average_round_trip_time).to eq(9)
24
- end
25
- end
26
- end
27
-
28
- describe '#measure' do
29
- context 'block does not raise' do
30
- it 'updates average rtt' do
31
- expect(averager).to receive(:update_average_round_trip_time)
32
- averager.measure do
33
- end
34
- end
35
- end
36
-
37
- context 'block raises' do
38
- it 'does not update average rtt' do
39
- expect(averager).not_to receive(:update_average_round_trip_time)
40
- lambda do
41
- averager.measure do
42
- raise "Problem"
43
- end
44
- end.should raise_error(/Problem/)
45
- end
46
- end
47
- end
48
- end
@@ -1,28 +0,0 @@
1
- # Candidate Tasks
2
-
3
- When using the `candidate` rake tasks, you must make sure:
4
-
5
- 1. You are using at least `git` version 2.49.0.
6
- 2. You have the `gh` CLI tool installed.
7
- 3. You are logged into `gh` with an account that has collaborator access to the repository.
8
- 4. You have run `gh repo set-default` from the root of your local checkout to set the default repository to the canonical MongoDB repo.
9
- 5. The `origin` remote for your local checkout is set to your own fork.
10
- 6. The `upstream` remote for your local checkout is set to the canonical
11
- MongoDB repo.
12
-
13
- Once configured, you can use the following commands:
14
-
15
- 1. `rake candidate:prs` - This will list all pull requests that will be included in the next release. Any with `[?]` are unlabelled (or are not labelled with a recognized label). Otherwise, `[b]` means `bug`, `[f]` means `feature`, and `[x]` means `bcbreak`.
16
- 2. `rake candidate:preview` - This will generate and display the release notes for the next release, based on the associated pull requests.
17
- 3. `rake candidate:create` - This will create a new PR against the default repository, using the generated release notes as the description. The new PR will be given the `release-candidate` label.
18
-
19
- Then, after the release candidate PR is approved and merged, the release process will automatically bundle, sign, and release the new version.
20
-
21
- Once you've merged the PR, you can switch to the "Actions" tab for the repository on GitHub and look for the "Release" workflow (might be named differently), which should have triggered automatically. You can monitor the progress of the release there. If there are any problems, the workflow is generally safe to re-run after you've addressed them.
22
-
23
- Things to do after the release succeeds:
24
-
25
- 1. Copy the release notes from the PR and create a new release announcement on the forums (https://www.mongodb.com/community/forums/c/announcements/driver-releases/110).
26
- 2. If the release was not automatically announced in #ruby, copy a link to the GitHub release or MongoDB forum post there.
27
- 3. Close the release in Jira.
28
-
data/spec/shared/LICENSE DELETED
@@ -1,20 +0,0 @@
1
- Copyright (c) 2020 MongoDB, Inc.
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- desired_version, arch = ARGV
4
- if arch.nil?
5
- STDERR.puts "Usage: get-mongodb-download-url desired-version arch"
6
- exit 1
7
- end
8
-
9
- $: << File.join(File.dirname(__FILE__), '../lib')
10
- require 'mrss/server_version_registry'
11
-
12
- begin
13
- puts Mrss::ServerVersionRegistry.new(desired_version, arch).download_url
14
- rescue Mrss::ServerVersionRegistry::Error => exc
15
- STDERR.puts "Error: #{exc}"
16
- exit 2
17
- end