mongo 2.19.3 → 2.20.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 (86) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/Rakefile +27 -154
  4. data/lib/mongo/cluster/topology/base.rb +16 -0
  5. data/lib/mongo/cluster.rb +27 -1
  6. data/lib/mongo/collection/view/iterable.rb +1 -0
  7. data/lib/mongo/collection.rb +4 -2
  8. data/lib/mongo/error/transactions_not_supported.rb +34 -0
  9. data/lib/mongo/error.rb +1 -0
  10. data/lib/mongo/grid/fs_bucket.rb +6 -0
  11. data/lib/mongo/monitoring/event/secure.rb +1 -1
  12. data/lib/mongo/operation/shared/executable.rb +43 -27
  13. data/lib/mongo/operation/shared/response_handling.rb +23 -25
  14. data/lib/mongo/retryable/read_worker.rb +7 -6
  15. data/lib/mongo/retryable/write_worker.rb +7 -4
  16. data/lib/mongo/retryable.rb +2 -2
  17. data/lib/mongo/server/app_metadata/environment.rb +64 -9
  18. data/lib/mongo/server/app_metadata.rb +5 -4
  19. data/lib/mongo/server/description/features.rb +1 -0
  20. data/lib/mongo/server_selector/base.rb +32 -6
  21. data/lib/mongo/session/server_session/dirtyable.rb +52 -0
  22. data/lib/mongo/session/server_session.rb +3 -0
  23. data/lib/mongo/session/session_pool.rb +12 -18
  24. data/lib/mongo/session.rb +32 -0
  25. data/lib/mongo/uri.rb +0 -4
  26. data/lib/mongo/version.rb +1 -1
  27. data/mongo.gemspec +1 -7
  28. data/spec/atlas/atlas_connectivity_spec.rb +4 -4
  29. data/spec/faas/ruby-sam-app/Gemfile +9 -0
  30. data/spec/faas/ruby-sam-app/mongodb/Gemfile +4 -0
  31. data/spec/faas/ruby-sam-app/mongodb/app.rb +149 -0
  32. data/spec/faas/ruby-sam-app/template.yaml +48 -0
  33. data/spec/integration/client_side_encryption/corpus_spec.rb +10 -2
  34. data/spec/integration/retryable_reads_errors_spec.rb +161 -8
  35. data/spec/integration/retryable_writes_errors_spec.rb +156 -0
  36. data/spec/mongo/cluster_spec.rb +36 -0
  37. data/spec/mongo/collection/view/aggregation_spec.rb +6 -1
  38. data/spec/mongo/collection/view/explainable_spec.rb +2 -0
  39. data/spec/mongo/collection_crud_spec.rb +1 -1
  40. data/spec/mongo/operation/insert_spec.rb +1 -1
  41. data/spec/mongo/retryable/write_worker_spec.rb +39 -0
  42. data/spec/mongo/server/app_metadata/environment_spec.rb +135 -0
  43. data/spec/mongo/server/app_metadata_spec.rb +12 -2
  44. data/spec/mongo/server/connection_spec.rb +4 -0
  45. data/spec/mongo/session/session_pool_spec.rb +1 -16
  46. data/spec/mongo/session_transaction_spec.rb +15 -0
  47. data/spec/mongo/uri_spec.rb +0 -9
  48. data/spec/runners/crud/test.rb +0 -8
  49. data/spec/runners/crud.rb +1 -1
  50. data/spec/runners/transactions/test.rb +12 -3
  51. data/spec/runners/unified/assertions.rb +16 -3
  52. data/spec/runners/unified/crud_operations.rb +12 -0
  53. data/spec/runners/unified/support_operations.rb +3 -5
  54. data/spec/runners/unified/test.rb +8 -1
  55. data/spec/shared/lib/mrss/docker_runner.rb +3 -0
  56. data/spec/shared/share/Dockerfile.erb +20 -69
  57. data/spec/shared/shlib/server.sh +1 -0
  58. data/spec/shared/shlib/set_env.sh +5 -28
  59. data/spec/spec_tests/data/client_side_encryption/explain.yml +2 -2
  60. data/spec/spec_tests/data/connection_string/invalid-uris.yml +0 -10
  61. data/spec/spec_tests/data/connection_string/valid-options.yml +13 -0
  62. data/spec/spec_tests/data/crud_unified/find-test-all-options.yml +348 -0
  63. data/spec/spec_tests/data/index_management/createSearchIndex.yml +5 -3
  64. data/spec/spec_tests/data/index_management/createSearchIndexes.yml +7 -4
  65. data/spec/spec_tests/data/index_management/dropSearchIndex.yml +2 -1
  66. data/spec/spec_tests/data/index_management/listSearchIndexes.yml +13 -7
  67. data/spec/spec_tests/data/index_management/updateSearchIndex.yml +2 -1
  68. data/spec/spec_tests/data/retryable_writes/unified/bulkWrite-serverErrors.yml +3 -6
  69. data/spec/spec_tests/data/retryable_writes/unified/insertOne-serverErrors.yml +3 -6
  70. data/spec/spec_tests/data/run_command_unified/runCommand.yml +319 -0
  71. data/spec/spec_tests/data/sessions_unified/driver-sessions-dirty-session-errors.yml +351 -0
  72. data/spec/spec_tests/data/unified/valid-pass/poc-crud.yml +1 -1
  73. data/spec/spec_tests/data/unified/valid-pass/poc-retryable-writes.yml +7 -7
  74. data/spec/spec_tests/data/unified/valid-pass/poc-sessions.yml +3 -4
  75. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-convenient-api.yml +1 -1
  76. data/spec/spec_tests/data/unified/valid-pass/poc-transactions-mongos-pin-auto.yml +1 -1
  77. data/spec/spec_tests/data/unified/valid-pass/poc-transactions.yml +3 -3
  78. data/spec/spec_tests/run_command_unified_spec.rb +13 -0
  79. data/spec/spec_tests/sdam_unified_spec.rb +2 -0
  80. data/spec/support/constraints.rb +6 -0
  81. data/spec/support/ocsp +1 -1
  82. data/spec/support/recording_logger.rb +27 -0
  83. data.tar.gz.sig +0 -0
  84. metadata +1272 -1253
  85. metadata.gz.sig +0 -0
  86. data/spec/spec_tests/data/cmap/pool-clear-interrupt-immediately.yml +0 -49
metadata.gz.sig CHANGED
Binary file
@@ -1,49 +0,0 @@
1
- version: 1
2
- style: unit
3
- description: Connections MUST be interrupted as soon as possible (interruptInUseConnections=true)
4
- # Remove the topology runOn requirement when cmap specs are adjusted for lbs
5
- runOn:
6
- - topology: [ "single", "replicaset", "sharded" ]
7
- poolOptions:
8
- # ensure it's not involved by default
9
- backgroundThreadIntervalMS: 10000
10
- operations:
11
- - name: ready
12
- - name: checkOut
13
- - name: checkOut
14
- label: conn
15
- - name: clear
16
- interruptInUseConnections: true
17
- - name: waitForEvent
18
- event: ConnectionPoolCleared
19
- count: 1
20
- timeout: 1000
21
- - name: waitForEvent
22
- event: ConnectionClosed
23
- count: 2
24
- timeout: 1000
25
- - name: close
26
- events:
27
- - type: ConnectionCheckedOut
28
- connectionId: 1
29
- address: 42
30
- - type: ConnectionCheckedOut
31
- connectionId: 2
32
- address: 42
33
- - type: ConnectionPoolCleared
34
- interruptInUseConnections: true
35
- - type: ConnectionClosed
36
- reason: stale
37
- address: 42
38
- - type: ConnectionClosed
39
- reason: stale
40
- address: 42
41
- - type: ConnectionPoolClosed
42
- address: 42
43
- ignore:
44
- - ConnectionCreated
45
- - ConnectionPoolReady
46
- - ConnectionReady
47
- - ConnectionCheckOutStarted
48
- - ConnectionPoolCreated
49
- - ConnectionCheckedIn