mongo 2.8.0 → 2.9.0.rc0
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Rakefile +12 -0
- data/lib/mongo.rb +15 -1
- data/lib/mongo/address/ipv6.rb +0 -2
- data/lib/mongo/auth/scram/conversation.rb +0 -3
- data/lib/mongo/bulk_write/result_combiner.rb +12 -2
- data/lib/mongo/client.rb +59 -6
- data/lib/mongo/cluster.rb +19 -8
- data/lib/mongo/cluster/reapers/cursor_reaper.rb +0 -2
- data/lib/mongo/cluster/reapers/socket_reaper.rb +12 -9
- data/lib/mongo/collection.rb +1 -1
- data/lib/mongo/collection/view/aggregation.rb +5 -1
- data/lib/mongo/collection/view/builder/map_reduce.rb +1 -1
- data/lib/mongo/collection/view/change_stream.rb +30 -10
- data/lib/mongo/collection/view/iterable.rb +13 -6
- data/lib/mongo/collection/view/map_reduce.rb +12 -10
- data/lib/mongo/collection/view/readable.rb +19 -14
- data/lib/mongo/cursor.rb +12 -8
- data/lib/mongo/database.rb +10 -7
- data/lib/mongo/database/view.rb +18 -11
- data/lib/mongo/error.rb +2 -2
- data/lib/mongo/error/connection_check_out_timeout.rb +49 -0
- data/lib/mongo/error/operation_failure.rb +9 -9
- data/lib/mongo/error/parser.rb +25 -3
- data/lib/mongo/error/pool_closed_error.rb +43 -0
- data/lib/mongo/error/sdam_error_detection.rb +18 -0
- data/lib/mongo/grid/file/chunk.rb +0 -2
- data/lib/mongo/grid/fs_bucket.rb +26 -12
- data/lib/mongo/grid/stream/read.rb +36 -21
- data/lib/mongo/index/view.rb +11 -7
- data/lib/mongo/logger.rb +0 -2
- data/lib/mongo/monitoring.rb +31 -0
- data/lib/mongo/monitoring/cmap_log_subscriber.rb +53 -0
- data/lib/mongo/monitoring/event.rb +1 -0
- data/lib/mongo/monitoring/event/cmap.rb +25 -0
- data/lib/mongo/monitoring/event/cmap/base.rb +28 -0
- data/lib/mongo/monitoring/event/cmap/connection_check_out_failed.rb +78 -0
- data/lib/mongo/monitoring/event/cmap/connection_check_out_started.rb +56 -0
- data/lib/mongo/monitoring/event/cmap/connection_checked_in.rb +63 -0
- data/lib/mongo/monitoring/event/cmap/connection_checked_out.rb +64 -0
- data/lib/mongo/monitoring/event/cmap/connection_closed.rb +103 -0
- data/lib/mongo/monitoring/event/cmap/connection_created.rb +64 -0
- data/lib/mongo/monitoring/event/cmap/connection_ready.rb +64 -0
- data/lib/mongo/monitoring/event/cmap/pool_cleared.rb +57 -0
- data/lib/mongo/monitoring/event/cmap/pool_closed.rb +57 -0
- data/lib/mongo/monitoring/event/cmap/pool_created.rb +63 -0
- data/lib/mongo/monitoring/event/command_started.rb +12 -3
- data/lib/mongo/monitoring/publishable.rb +10 -2
- data/lib/mongo/operation.rb +0 -1
- data/lib/mongo/operation/find/legacy/result.rb +1 -0
- data/lib/mongo/operation/list_collections/result.rb +7 -1
- data/lib/mongo/operation/result.rb +10 -1
- data/lib/mongo/operation/shared/executable.rb +15 -0
- data/lib/mongo/operation/shared/result/use_legacy_error_parser.rb +29 -0
- data/lib/mongo/operation/shared/specifiable.rb +0 -16
- data/lib/mongo/operation/update/legacy/result.rb +1 -0
- data/lib/mongo/protocol/compressed.rb +0 -2
- data/lib/mongo/protocol/msg.rb +25 -2
- data/lib/mongo/retryable.rb +171 -33
- data/lib/mongo/server.rb +26 -7
- data/lib/mongo/server/app_metadata.rb +0 -2
- data/lib/mongo/server/connectable.rb +8 -2
- data/lib/mongo/server/connection.rb +83 -13
- data/lib/mongo/server/connection_base.rb +1 -1
- data/lib/mongo/server/connection_pool.rb +439 -43
- data/lib/mongo/server/monitor/connection.rb +4 -1
- data/lib/mongo/session.rb +37 -5
- data/lib/mongo/session/session_pool.rb +2 -2
- data/lib/mongo/socket.rb +0 -2
- data/lib/mongo/socket/ssl.rb +0 -2
- data/lib/mongo/uri.rb +127 -66
- data/lib/mongo/uri/srv_protocol.rb +35 -13
- data/lib/mongo/version.rb +1 -1
- data/spec/README.md +190 -63
- data/spec/integration/change_stream_spec.rb +64 -0
- data/spec/integration/command_spec.rb +0 -7
- data/spec/integration/error_detection_spec.rb +39 -0
- data/spec/integration/read_concern.rb +83 -0
- data/spec/integration/retryable_writes_spec.rb +6 -50
- data/spec/integration/sdam_error_handling_spec.rb +60 -7
- data/spec/integration/ssl_uri_options_spec.rb +24 -0
- data/spec/integration/step_down_spec.rb +197 -0
- data/spec/lite_spec_helper.rb +4 -0
- data/spec/mongo/client_construction_spec.rb +42 -17
- data/spec/mongo/client_spec.rb +32 -1
- data/spec/mongo/cluster/socket_reaper_spec.rb +2 -2
- data/spec/mongo/cluster_spec.rb +36 -2
- data/spec/mongo/collection/view/aggregation_spec.rb +2 -0
- data/spec/mongo/collection/view/change_stream_spec.rb +28 -28
- data/spec/mongo/collection/view/readable_spec.rb +1 -1
- data/spec/mongo/collection/view_spec.rb +3 -1
- data/spec/mongo/cursor_spec.rb +5 -5
- data/spec/mongo/error/parser_spec.rb +61 -1
- data/spec/mongo/grid/stream/read_spec.rb +2 -2
- data/spec/mongo/monitoring/event/cmap/connection_check_out_failed_spec.rb +23 -0
- data/spec/mongo/monitoring/event/cmap/connection_check_out_started_spec.rb +19 -0
- data/spec/mongo/monitoring/event/cmap/connection_checked_in_spec.rb +23 -0
- data/spec/mongo/monitoring/event/cmap/connection_checked_out_spec.rb +23 -0
- data/spec/mongo/monitoring/event/cmap/connection_closed_spec.rb +27 -0
- data/spec/mongo/monitoring/event/cmap/connection_created_spec.rb +24 -0
- data/spec/mongo/monitoring/event/cmap/connection_ready_spec.rb +24 -0
- data/spec/mongo/monitoring/event/cmap/pool_cleared_spec.rb +19 -0
- data/spec/mongo/monitoring/event/cmap/pool_closed_spec.rb +19 -0
- data/spec/mongo/monitoring/event/cmap/pool_created_spec.rb +26 -0
- data/spec/mongo/operation/delete/bulk_spec.rb +1 -6
- data/spec/mongo/operation/delete/command_spec.rb +1 -1
- data/spec/mongo/operation/delete/op_msg_spec.rb +1 -1
- data/spec/mongo/operation/delete_spec.rb +4 -4
- data/spec/mongo/operation/insert/bulk_spec.rb +1 -1
- data/spec/mongo/operation/insert/command_spec.rb +1 -1
- data/spec/mongo/operation/insert/op_msg_spec.rb +1 -1
- data/spec/mongo/operation/update/bulk_spec.rb +1 -1
- data/spec/mongo/operation/update/command_spec.rb +2 -2
- data/spec/mongo/operation/update/op_msg_spec.rb +2 -2
- data/spec/mongo/protocol/msg_spec.rb +11 -0
- data/spec/mongo/retryable_spec.rb +78 -25
- data/spec/mongo/server/connection_pool_spec.rb +661 -126
- data/spec/mongo/server/connection_spec.rb +55 -7
- data/spec/mongo/server_spec.rb +5 -0
- data/spec/mongo/uri/srv_protocol_spec.rb +135 -2
- data/spec/mongo/uri_option_parsing_spec.rb +511 -0
- data/spec/mongo/uri_spec.rb +42 -6
- data/spec/spec_helper.rb +1 -84
- data/spec/spec_tests/cmap_spec.rb +50 -0
- data/spec/spec_tests/command_monitoring_spec.rb +7 -18
- data/spec/spec_tests/crud_spec.rb +3 -49
- data/spec/spec_tests/data/cmap/connection-must-have-id.yml +21 -0
- data/spec/spec_tests/data/cmap/connection-must-order-ids.yml +21 -0
- data/spec/spec_tests/data/cmap/pool-checkin-destroy-closed.yml +24 -0
- data/spec/spec_tests/data/cmap/pool-checkin-destroy-stale.yml +24 -0
- data/spec/spec_tests/data/cmap/pool-checkin-make-available.yml +21 -0
- data/spec/spec_tests/data/cmap/pool-checkin.yml +18 -0
- data/spec/spec_tests/data/cmap/pool-checkout-connection.yml +13 -0
- data/spec/spec_tests/data/cmap/pool-checkout-error-closed.yml +28 -0
- data/spec/spec_tests/data/cmap/pool-checkout-multiple.yml +34 -0
- data/spec/spec_tests/data/cmap/pool-checkout-no-idle.yml +31 -0
- data/spec/spec_tests/data/cmap/pool-checkout-no-stale.yml +29 -0
- data/spec/spec_tests/data/cmap/pool-close-destroy-conns.yml +26 -0
- data/spec/spec_tests/data/cmap/pool-close.yml +11 -0
- data/spec/spec_tests/data/cmap/pool-create-max-size.yml +56 -0
- data/spec/spec_tests/data/cmap/pool-create-min-size.yml +27 -0
- data/spec/spec_tests/data/cmap/pool-create-with-options.yml +20 -0
- data/spec/spec_tests/data/cmap/pool-create.yml +12 -0
- data/spec/spec_tests/data/cmap/wait-queue-fairness.yml +94 -0
- data/spec/spec_tests/data/cmap/wait-queue-timeout.yml +41 -0
- data/spec/spec_tests/data/retryable_reads/aggregate-serverErrors.yml +157 -0
- data/spec/spec_tests/data/retryable_reads/aggregate.yml +87 -0
- data/spec/spec_tests/data/retryable_reads/changeStreams-client.watch-serverErrors.yml +149 -0
- data/spec/spec_tests/data/retryable_reads/changeStreams-client.watch.yml +61 -0
- data/spec/spec_tests/data/retryable_reads/changeStreams-db.coll.watch-serverErrors.yml +149 -0
- data/spec/spec_tests/data/retryable_reads/changeStreams-db.coll.watch.yml +65 -0
- data/spec/spec_tests/data/retryable_reads/changeStreams-db.watch-serverErrors.yml +153 -0
- data/spec/spec_tests/data/retryable_reads/changeStreams-db.watch.yml +61 -0
- data/spec/spec_tests/data/retryable_reads/count-serverErrors.yml +150 -0
- data/spec/spec_tests/data/retryable_reads/count.yml +64 -0
- data/spec/spec_tests/data/retryable_reads/countDocuments-serverErrors.yml +150 -0
- data/spec/spec_tests/data/retryable_reads/countDocuments.yml +64 -0
- data/spec/spec_tests/data/retryable_reads/distinct-serverErrors.yml +156 -0
- data/spec/spec_tests/data/retryable_reads/distinct.yml +71 -0
- data/spec/spec_tests/data/retryable_reads/estimatedDocumentCount-serverErrors.yml +148 -0
- data/spec/spec_tests/data/retryable_reads/estimatedDocumentCount.yml +62 -0
- data/spec/spec_tests/data/retryable_reads/find-serverErrors.yml +160 -0
- data/spec/spec_tests/data/retryable_reads/find.yml +86 -0
- data/spec/spec_tests/data/retryable_reads/findOne-serverErrors.yml +154 -0
- data/spec/spec_tests/data/retryable_reads/findOne.yml +68 -0
- data/spec/spec_tests/data/retryable_reads/gridfs-download-serverErrors.yml +173 -0
- data/spec/spec_tests/data/retryable_reads/gridfs-download.yml +79 -0
- data/spec/spec_tests/data/retryable_reads/gridfs-downloadByName-serverErrors.yml +174 -0
- data/spec/spec_tests/data/retryable_reads/gridfs-downloadByName.yml +79 -0
- data/spec/spec_tests/data/retryable_reads/listCollectionNames-serverErrors.yml +143 -0
- data/spec/spec_tests/data/retryable_reads/listCollectionNames.yml +59 -0
- data/spec/spec_tests/data/retryable_reads/listCollectionObjects-serverErrors.yml +144 -0
- data/spec/spec_tests/data/retryable_reads/listCollectionObjects.yml +59 -0
- data/spec/spec_tests/data/retryable_reads/listCollections-serverErrors.yml +143 -0
- data/spec/spec_tests/data/retryable_reads/listCollections.yml +59 -0
- data/spec/spec_tests/data/retryable_reads/listDatabaseNames-serverErrors.yml +143 -0
- data/spec/spec_tests/data/retryable_reads/listDatabaseNames.yml +59 -0
- data/spec/spec_tests/data/retryable_reads/listDatabaseObjects-serverErrors.yml +144 -0
- data/spec/spec_tests/data/retryable_reads/listDatabaseObjects.yml +59 -0
- data/spec/spec_tests/data/retryable_reads/listDatabases-serverErrors.yml +144 -0
- data/spec/spec_tests/data/retryable_reads/listDatabases.yml +59 -0
- data/spec/spec_tests/data/retryable_reads/listIndexNames-serverErrors.yml +144 -0
- data/spec/spec_tests/data/retryable_reads/listIndexNames.yml +60 -0
- data/spec/spec_tests/data/retryable_reads/listIndexes-serverErrors.yml +145 -0
- data/spec/spec_tests/data/retryable_reads/listIndexes.yml +60 -0
- data/spec/spec_tests/data/retryable_reads/mapReduce.yml +60 -0
- data/spec/spec_tests/data/retryable_writes/bulkWrite-serverErrors.yml +10 -7
- data/spec/spec_tests/data/retryable_writes/bulkWrite.yml +15 -22
- data/spec/spec_tests/data/retryable_writes/deleteMany.yml +22 -0
- data/spec/spec_tests/data/retryable_writes/deleteOne-serverErrors.yml +8 -7
- data/spec/spec_tests/data/retryable_writes/deleteOne.yml +5 -8
- data/spec/spec_tests/data/retryable_writes/findOneAndDelete-serverErrors.yml +8 -7
- data/spec/spec_tests/data/retryable_writes/findOneAndDelete.yml +5 -8
- data/spec/spec_tests/data/retryable_writes/findOneAndReplace-serverErrors.yml +8 -7
- data/spec/spec_tests/data/retryable_writes/findOneAndReplace.yml +5 -8
- data/spec/spec_tests/data/retryable_writes/findOneAndUpdate-serverErrors.yml +8 -7
- data/spec/spec_tests/data/retryable_writes/findOneAndUpdate.yml +5 -8
- data/spec/spec_tests/data/retryable_writes/insertMany-serverErrors.yml +8 -7
- data/spec/spec_tests/data/retryable_writes/insertMany.yml +5 -8
- data/spec/spec_tests/data/retryable_writes/insertOne-serverErrors.yml +10 -45
- data/spec/spec_tests/data/retryable_writes/insertOne.yml +5 -8
- data/spec/spec_tests/data/retryable_writes/replaceOne-serverErrors.yml +8 -7
- data/spec/spec_tests/data/retryable_writes/replaceOne.yml +5 -8
- data/spec/spec_tests/data/retryable_writes/updateMany.yml +27 -0
- data/spec/spec_tests/data/retryable_writes/updateOne-serverErrors.yml +8 -7
- data/spec/spec_tests/data/retryable_writes/updateOne.yml +5 -14
- data/spec/spec_tests/data/transactions/abort.yml +7 -2
- data/spec/spec_tests/data/transactions/bulk.yml +7 -2
- data/spec/spec_tests/data/transactions/causal-consistency.yml +11 -4
- data/spec/spec_tests/data/transactions/commit.yml +11 -4
- data/spec/spec_tests/data/transactions/count.yml +64 -0
- data/spec/spec_tests/data/transactions/delete.yml +7 -2
- data/spec/spec_tests/data/transactions/error-labels.yml +8 -2
- data/spec/spec_tests/data/transactions/errors.yml +7 -2
- data/spec/spec_tests/data/transactions/findOneAndDelete.yml +7 -2
- data/spec/spec_tests/data/transactions/findOneAndReplace.yml +7 -2
- data/spec/spec_tests/data/transactions/findOneAndUpdate.yml +7 -2
- data/spec/spec_tests/data/transactions/insert.yml +9 -2
- data/spec/spec_tests/data/transactions/isolation.yml +7 -2
- data/spec/spec_tests/data/transactions/read-concern.yml +15 -6
- data/spec/spec_tests/data/transactions/read-pref.yml +7 -2
- data/spec/spec_tests/data/transactions/reads.yml +8 -48
- data/spec/spec_tests/data/transactions/retryable-abort.yml +7 -2
- data/spec/spec_tests/data/transactions/retryable-commit.yml +7 -2
- data/spec/spec_tests/data/transactions/retryable-writes.yml +7 -2
- data/spec/spec_tests/data/transactions/run-command.yml +7 -2
- data/spec/spec_tests/data/transactions/transaction-options.yml +7 -2
- data/spec/spec_tests/data/transactions/update.yml +7 -2
- data/spec/spec_tests/data/transactions/write-concern.yml +7 -2
- data/spec/spec_tests/data/transactions_api/callback-aborts.yml +6 -1
- data/spec/spec_tests/data/transactions_api/callback-commits.yml +6 -1
- data/spec/spec_tests/data/transactions_api/callback-retry.yml +6 -1
- data/spec/spec_tests/data/transactions_api/commit-retry.yml +6 -1
- data/spec/spec_tests/data/transactions_api/commit-transienttransactionerror-4.2.yml +6 -3
- data/spec/spec_tests/data/transactions_api/commit-transienttransactionerror.yml +6 -1
- data/spec/spec_tests/data/transactions_api/commit-writeconcernerror.yml +6 -1
- data/spec/spec_tests/data/transactions_api/commit.yml +6 -1
- data/spec/spec_tests/data/transactions_api/transaction-options.yml +6 -1
- data/spec/spec_tests/retryable_reads_spec.rb +11 -0
- data/spec/spec_tests/retryable_writes_spec.rb +4 -69
- data/spec/spec_tests/transactions_api_spec.rb +42 -37
- data/spec/spec_tests/transactions_spec.rb +42 -33
- data/spec/support/authorization.rb +12 -0
- data/spec/support/change_streams/operation.rb +1 -1
- data/spec/support/client_registry.rb +20 -0
- data/spec/support/cluster_config.rb +16 -15
- data/spec/support/cluster_tools.rb +346 -0
- data/spec/support/cmap.rb +367 -0
- data/spec/support/cmap/verifier.rb +46 -0
- data/spec/support/command_monitoring.rb +4 -6
- data/spec/support/common_shortcuts.rb +6 -0
- data/spec/support/connection_string.rb +2 -2
- data/spec/support/crud.rb +171 -184
- data/spec/support/crud/operation.rb +43 -0
- data/spec/support/crud/outcome.rb +53 -0
- data/spec/support/crud/read.rb +102 -12
- data/spec/support/crud/requirement.rb +69 -0
- data/spec/support/crud/spec.rb +68 -0
- data/spec/support/crud/test.rb +141 -0
- data/spec/support/crud/verifier.rb +96 -18
- data/spec/support/crud/write.rb +18 -3
- data/spec/support/event_subscriber.rb +15 -0
- data/spec/support/primary_socket.rb +2 -2
- data/spec/support/spec_config.rb +89 -20
- data/spec/support/transactions.rb +2 -306
- data/spec/support/transactions/operation.rb +7 -7
- data/spec/support/transactions/spec.rb +28 -0
- data/spec/support/transactions/test.rb +191 -0
- data/spec/support/utils.rb +123 -0
- metadata +202 -9
- metadata.gz.sig +0 -0
- data/lib/mongo/server/connection_pool/queue.rb +0 -359
- data/spec/mongo/server/connection_pool/queue_spec.rb +0 -353
- data/spec/support/transactions/verifier.rb +0 -97
@@ -0,0 +1,25 @@
|
|
1
|
+
# Copyright (C) 2019 MongoDB, Inc.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the 'License');
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an 'AS IS' BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require 'mongo/monitoring/event/cmap/base'
|
16
|
+
require 'mongo/monitoring/event/cmap/connection_checked_in'
|
17
|
+
require 'mongo/monitoring/event/cmap/connection_checked_out'
|
18
|
+
require 'mongo/monitoring/event/cmap/connection_check_out_failed'
|
19
|
+
require 'mongo/monitoring/event/cmap/connection_check_out_started'
|
20
|
+
require 'mongo/monitoring/event/cmap/connection_closed'
|
21
|
+
require 'mongo/monitoring/event/cmap/connection_created'
|
22
|
+
require 'mongo/monitoring/event/cmap/connection_ready'
|
23
|
+
require 'mongo/monitoring/event/cmap/pool_cleared'
|
24
|
+
require 'mongo/monitoring/event/cmap/pool_closed'
|
25
|
+
require 'mongo/monitoring/event/cmap/pool_created'
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Copyright (C) 2019 MongoDB, Inc.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the 'License');
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an 'AS IS' BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Mongo
|
16
|
+
class Monitoring
|
17
|
+
module Event
|
18
|
+
module Cmap
|
19
|
+
|
20
|
+
# Base class for CMAP events.
|
21
|
+
#
|
22
|
+
# @since 2.9.0
|
23
|
+
class Base < Mongo::Event::Base
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# Copyright (C) 2019 MongoDB, Inc.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the 'License');
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an 'AS IS' BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Mongo
|
16
|
+
class Monitoring
|
17
|
+
module Event
|
18
|
+
module Cmap
|
19
|
+
|
20
|
+
# Event published when a connection is unable to be checked out of a pool.
|
21
|
+
#
|
22
|
+
# @since 2.9.0
|
23
|
+
class ConnectionCheckOutFailed < Base
|
24
|
+
|
25
|
+
# @return [ Symbol ] POOL_CLOSED Indicates that the connection check
|
26
|
+
# out failed due to the pool already being closed.
|
27
|
+
#
|
28
|
+
# @since 2.9.0
|
29
|
+
POOL_CLOSED = :pool_closed
|
30
|
+
|
31
|
+
# @return [ Symbol ] TIMEOUT Indicates that the connection check out
|
32
|
+
# failed due to the timeout being reached before a connection
|
33
|
+
# became available.
|
34
|
+
#
|
35
|
+
# @since 2.9.0
|
36
|
+
TIMEOUT = :timeout
|
37
|
+
|
38
|
+
# @return [ Mongo::Address ] address The address of the server the
|
39
|
+
# connection would have connected to.
|
40
|
+
#
|
41
|
+
# @since 2.9.0
|
42
|
+
attr_reader :address
|
43
|
+
|
44
|
+
# @return [ Symbol ] reason The reason a connection was unable to be
|
45
|
+
# acquired.
|
46
|
+
#
|
47
|
+
# @since 2.9.0
|
48
|
+
attr_reader :reason
|
49
|
+
|
50
|
+
# Create the event.
|
51
|
+
#
|
52
|
+
# @param [ Address ] address
|
53
|
+
# @param [ Symbol ] symbol
|
54
|
+
#
|
55
|
+
# @since 2.9.0
|
56
|
+
# @api private
|
57
|
+
def initialize(address, reason)
|
58
|
+
@reason = reason
|
59
|
+
@address = address
|
60
|
+
end
|
61
|
+
|
62
|
+
# Returns a concise yet useful summary of the event.
|
63
|
+
#
|
64
|
+
# @return [ String ] String summary of the event.
|
65
|
+
#
|
66
|
+
# @note This method is experimental and subject to change.
|
67
|
+
#
|
68
|
+
# @since 2.9.0
|
69
|
+
# @api experimental
|
70
|
+
def summary
|
71
|
+
"#<#{self.class.name.sub(/^Mongo::Monitoring::Event::Cmap::/, '')} address=#{address} " +
|
72
|
+
"reason=#{reason}>"
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# Copyright (C) 2019 MongoDB, Inc.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the 'License');
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an 'AS IS' BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Mongo
|
16
|
+
class Monitoring
|
17
|
+
module Event
|
18
|
+
module Cmap
|
19
|
+
|
20
|
+
# Event published when a thread begins attempting to check a connection out of a pool.
|
21
|
+
#
|
22
|
+
# @since 2.9.0
|
23
|
+
class ConnectionCheckOutStarted < Base
|
24
|
+
|
25
|
+
# @return [ Mongo::Address ] address The address of the server that the connection will
|
26
|
+
# connect to.
|
27
|
+
#
|
28
|
+
# @since 2.9.0
|
29
|
+
attr_reader :address
|
30
|
+
|
31
|
+
# Create the event.
|
32
|
+
#
|
33
|
+
# @param [ Address ] address
|
34
|
+
#
|
35
|
+
# @since 2.9.0
|
36
|
+
# @api private
|
37
|
+
def initialize(address)
|
38
|
+
@address = address
|
39
|
+
end
|
40
|
+
|
41
|
+
# Returns a concise yet useful summary of the event.
|
42
|
+
#
|
43
|
+
# @return [ String ] String summary of the event.
|
44
|
+
#
|
45
|
+
# @note This method is experimental and subject to change.
|
46
|
+
#
|
47
|
+
# @since 2.9.0
|
48
|
+
# @api experimental
|
49
|
+
def summary
|
50
|
+
"#<#{self.class.name.sub(/^Mongo::Monitoring::Event::Cmap::/, '')} address=#{address}>"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# Copyright (C) 2019 MongoDB, Inc.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the 'License');
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an 'AS IS' BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Mongo
|
16
|
+
class Monitoring
|
17
|
+
module Event
|
18
|
+
module Cmap
|
19
|
+
|
20
|
+
# Event published when a connection is returned to a connection pool.
|
21
|
+
#
|
22
|
+
# @since 2.9.0
|
23
|
+
class ConnectionCheckedIn < Base
|
24
|
+
|
25
|
+
# @return [ Address ] address The address of the server the connection was connected to.
|
26
|
+
#
|
27
|
+
# @since 2.9.0
|
28
|
+
attr_reader :address
|
29
|
+
|
30
|
+
# @return [ Integer ] connection_id The ID of the connection.
|
31
|
+
#
|
32
|
+
# @since 2.9.0
|
33
|
+
attr_reader :connection_id
|
34
|
+
|
35
|
+
# Create the event.
|
36
|
+
#
|
37
|
+
# @example Create the event.
|
38
|
+
# ConnectionCheckedIn.new(address, id)
|
39
|
+
#
|
40
|
+
# @since 2.9.0
|
41
|
+
# @api private
|
42
|
+
def initialize(address, id)
|
43
|
+
@address = address
|
44
|
+
@connection_id = id
|
45
|
+
end
|
46
|
+
|
47
|
+
# Returns a concise yet useful summary of the event.
|
48
|
+
#
|
49
|
+
# @return [ String ] String summary of the event.
|
50
|
+
#
|
51
|
+
# @note This method is experimental and subject to change.
|
52
|
+
#
|
53
|
+
# @since 2.9.0
|
54
|
+
# @api experimental
|
55
|
+
def summary
|
56
|
+
"#<#{self.class.name.sub(/^Mongo::Monitoring::Event::Cmap::/, '')} " +
|
57
|
+
"address=#{address} connection_id=#{connection_id}>"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# Copyright (C) 2019 MongoDB, Inc.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the 'License');
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an 'AS IS' BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Mongo
|
16
|
+
class Monitoring
|
17
|
+
module Event
|
18
|
+
module Cmap
|
19
|
+
|
20
|
+
# Event published when a connection is successfully checked out out of a pool.
|
21
|
+
#
|
22
|
+
# @since 2.9.0
|
23
|
+
class ConnectionCheckedOut < Base
|
24
|
+
|
25
|
+
# @return [ Mongo::Address ] address The address of the server that the connection will
|
26
|
+
# connect to.
|
27
|
+
#
|
28
|
+
# @since 2.9.0
|
29
|
+
attr_reader :address
|
30
|
+
|
31
|
+
# @return [ Integer ] connection_id The ID of the connection.
|
32
|
+
#
|
33
|
+
# @since 2.9.0
|
34
|
+
attr_reader :connection_id
|
35
|
+
|
36
|
+
# Create the event.
|
37
|
+
#
|
38
|
+
# @example Create the event.
|
39
|
+
# ConnectionCheckedOut.new(address, id)
|
40
|
+
#
|
41
|
+
# @since 2.9.0
|
42
|
+
# @api private
|
43
|
+
def initialize(address, id)
|
44
|
+
@address = address
|
45
|
+
@connection_id = id
|
46
|
+
end
|
47
|
+
|
48
|
+
# Returns a concise yet useful summary of the event.
|
49
|
+
#
|
50
|
+
# @return [ String ] String summary of the event.
|
51
|
+
#
|
52
|
+
# @note This method is experimental and subject to change.
|
53
|
+
#
|
54
|
+
# @since 2.9.0
|
55
|
+
# @api experimental
|
56
|
+
def summary
|
57
|
+
"#<#{self.class.name.sub(/^Mongo::Monitoring::Event::Cmap::/, '')} " +
|
58
|
+
"address=#{address} connection_id=#{connection_id}>"
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
# Copyright (C) 2019 MongoDB, Inc.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the 'License');
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an 'AS IS' BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Mongo
|
16
|
+
class Monitoring
|
17
|
+
module Event
|
18
|
+
module Cmap
|
19
|
+
|
20
|
+
# Event published when a connection is closed.
|
21
|
+
#
|
22
|
+
# @since 2.9.0
|
23
|
+
class ConnectionClosed < Base
|
24
|
+
|
25
|
+
# @return [ Symbol ] STALE Indicates that the connection was closed due to it being stale.
|
26
|
+
#
|
27
|
+
# @since 2.9.0
|
28
|
+
STALE = :stale
|
29
|
+
|
30
|
+
# @return [ Symbol ] IDLE Indicates that the connection was closed due to it being idle.
|
31
|
+
#
|
32
|
+
# @since 2.9.0
|
33
|
+
IDLE = :idle
|
34
|
+
|
35
|
+
# @return [ Symbol ] ERROR Indicates that the connection was closed due to it experiencing
|
36
|
+
# an error.
|
37
|
+
#
|
38
|
+
# @since 2.9.0
|
39
|
+
ERROR = :error
|
40
|
+
|
41
|
+
# @return [ Symbol ] POOL_CLOSED Indicates that the connection was closed due to the pool
|
42
|
+
# already being closed.
|
43
|
+
#
|
44
|
+
# @since 2.9.0
|
45
|
+
POOL_CLOSED = :pool_closed
|
46
|
+
|
47
|
+
# @return [ Symbol ] HANDSHAKE_FAILED Indicates that the connection was closed due to the
|
48
|
+
# connection handshake failing.
|
49
|
+
#
|
50
|
+
# @since 2.9.0
|
51
|
+
HANDSHAKE_FAILED = :handshake_failed
|
52
|
+
|
53
|
+
# @return [ Symbol ] UNKNOWN Indicates that the connection was closed for an unknown reason.
|
54
|
+
#
|
55
|
+
# @since 2.9.0
|
56
|
+
UNKNOWN = :unknown
|
57
|
+
|
58
|
+
# @return [ Integer ] connection_id The ID of the connection.
|
59
|
+
#
|
60
|
+
# @since 2.9.0
|
61
|
+
attr_reader :connection_id
|
62
|
+
|
63
|
+
# @return [ Symbol ] reason The reason why the connection was closed.
|
64
|
+
#
|
65
|
+
# @since 2.9.0
|
66
|
+
attr_reader :reason
|
67
|
+
|
68
|
+
# @return [ Mongo::Address ] address The address of the server the pool's connections will
|
69
|
+
# connect to.
|
70
|
+
#
|
71
|
+
# @since 2.9.0
|
72
|
+
attr_reader :address
|
73
|
+
|
74
|
+
# Create the event.
|
75
|
+
#
|
76
|
+
# @example Create the event.
|
77
|
+
# ConnectionClosed.new(address, id, reason)
|
78
|
+
#
|
79
|
+
# @since 2.9.0
|
80
|
+
# @api private
|
81
|
+
def initialize(address, id, reason)
|
82
|
+
@reason = reason
|
83
|
+
@address = address
|
84
|
+
@connection_id = id
|
85
|
+
end
|
86
|
+
|
87
|
+
# Returns a concise yet useful summary of the event.
|
88
|
+
#
|
89
|
+
# @return [ String ] String summary of the event.
|
90
|
+
#
|
91
|
+
# @note This method is experimental and subject to change.
|
92
|
+
#
|
93
|
+
# @since 2.9.0
|
94
|
+
# @api experimental
|
95
|
+
def summary
|
96
|
+
"#<#{self.class.name.sub(/^Mongo::Monitoring::Event::Cmap::/, '')} " +
|
97
|
+
"address=#{address} connection_id=#{connection_id} reason=#{reason}>"
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# Copyright (C) 2019 MongoDB, Inc.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the 'License');
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an 'AS IS' BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
module Mongo
|
16
|
+
class Monitoring
|
17
|
+
module Event
|
18
|
+
module Cmap
|
19
|
+
|
20
|
+
# Event published when a connection is created.
|
21
|
+
#
|
22
|
+
# @since 2.9.0
|
23
|
+
class ConnectionCreated < Base
|
24
|
+
|
25
|
+
# @return [ Mongo::Address ] address The address of the server the connection will connect
|
26
|
+
# to.
|
27
|
+
#
|
28
|
+
# @since 2.9.0
|
29
|
+
attr_reader :address
|
30
|
+
|
31
|
+
# @return [ Integer ] connection_id The ID of the connection.
|
32
|
+
#
|
33
|
+
# @since 2.9.0
|
34
|
+
attr_reader :connection_id
|
35
|
+
|
36
|
+
# Create the event.
|
37
|
+
#
|
38
|
+
# @example Create the event.
|
39
|
+
# ConnectionCreated.new(address, id)
|
40
|
+
#
|
41
|
+
# @since 2.9.0
|
42
|
+
# @api private
|
43
|
+
def initialize(address, id)
|
44
|
+
@address = address
|
45
|
+
@connection_id = id
|
46
|
+
end
|
47
|
+
|
48
|
+
# Returns a concise yet useful summary of the event.
|
49
|
+
#
|
50
|
+
# @return [ String ] String summary of the event.
|
51
|
+
#
|
52
|
+
# @note This method is experimental and subject to change.
|
53
|
+
#
|
54
|
+
# @since 2.9.0
|
55
|
+
# @api experimental
|
56
|
+
def summary
|
57
|
+
"#<#{self.class.name.sub(/^Mongo::Monitoring::Event::Cmap::/, '')} " +
|
58
|
+
"address=#{address} connection_id=#{connection_id}>"
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|