Exception: Mongo::Error

Inherits:
StandardError
  • Object
show all
Includes:
ChangeStreamResumable, Labelable, Notable, WriteRetryable
Defined in:
lib/mongo/error.rb,
lib/mongo/error/parser.rb,
lib/mongo/error/notable.rb,
lib/mongo/error/kms_error.rb,
lib/mongo/error/labelable.rb,
lib/mongo/error/auth_error.rb,
lib/mongo/error/lint_error.rb,
lib/mongo/error/pool_error.rb,
lib/mongo/error/crypt_error.rb,
lib/mongo/error/invalid_uri.rb,
lib/mongo/error/invalid_file.rb,
lib/mongo/error/socket_error.rb,
lib/mongo/error/client_closed.rb,
lib/mongo/error/closed_stream.rb,
lib/mongo/error/invalid_nonce.rb,
lib/mongo/error/max_bson_size.rb,
lib/mongo/error/session_ended.rb,
lib/mongo/error/timeout_error.rb,
lib/mongo/error/file_not_found.rb,
lib/mongo/error/no_srv_records.rb,
lib/mongo/error/handshake_error.rb,
lib/mongo/error/invalid_address.rb,
lib/mongo/error/invalid_session.rb,
lib/mongo/error/write_retryable.rb,
lib/mongo/error/bulk_write_error.rb,
lib/mongo/error/extra_file_chunk.rb,
lib/mongo/error/invalid_document.rb,
lib/mongo/error/max_message_size.rb,
lib/mongo/error/missing_password.rb,
lib/mongo/error/multi_index_drop.rb,
lib/mongo/error/unmet_dependency.rb,
lib/mongo/error/invalid_signature.rb,
lib/mongo/error/mismatched_domain.rb,
lib/mongo/error/operation_failure.rb,
lib/mongo/error/pool_closed_error.rb,
lib/mongo/error/pool_paused_error.rb,
lib/mongo/error/server_not_usable.rb,
lib/mongo/error/invalid_txt_record.rb,
lib/mongo/error/missing_connection.rb,
lib/mongo/error/missing_file_chunk.rb,
lib/mongo/error/missing_service_id.rb,
lib/mongo/error/pool_cleared_error.rb,
lib/mongo/error/unsupported_option.rb,
lib/mongo/error/connection_perished.rb,
lib/mongo/error/invalid_read_option.rb,
lib/mongo/error/need_primary_server.rb,
lib/mongo/error/no_server_available.rb,
lib/mongo/error/server_api_conflict.rb,
lib/mongo/error/unexpected_response.rb,
lib/mongo/error/invalid_read_concern.rb,
lib/mongo/error/missing_resume_token.rb,
lib/mongo/error/raise_original_error.rb,
lib/mongo/error/read_write_retryable.rb,
lib/mongo/error/sdam_error_detection.rb,
lib/mongo/error/server_timeout_error.rb,
lib/mongo/error/socket_timeout_error.rb,
lib/mongo/error/unknown_payload_type.rb,
lib/mongo/error/unsupported_features.rb,
lib/mongo/error/internal_driver_error.rb,
lib/mongo/error/invalid_config_option.rb,
lib/mongo/error/invalid_database_name.rb,
lib/mongo/error/invalid_file_revision.rb,
lib/mongo/error/invalid_min_pool_size.rb,
lib/mongo/error/invalid_write_concern.rb,
lib/mongo/error/unsupported_collation.rb,
lib/mongo/error/connection_unavailable.rb,
lib/mongo/error/credential_check_error.rb,
lib/mongo/error/invalid_bulk_operation.rb,
lib/mongo/error/invalid_max_connecting.rb,
lib/mongo/error/sessions_not_supported.rb,
lib/mongo/error/change_stream_resumable.rb,
lib/mongo/error/invalid_collection_name.rb,
lib/mongo/error/invalid_update_document.rb,
lib/mongo/error/mongocryptd_spawn_error.rb,
lib/mongo/error/unexpected_chunk_length.rb,
lib/mongo/error/bad_load_balancer_target.rb,
lib/mongo/error/invalid_application_name.rb,
lib/mongo/error/invalid_cursor_operation.rb,
lib/mongo/error/invalid_server_auth_host.rb,
lib/mongo/error/session_not_materialized.rb,
lib/mongo/error/unsupported_message_type.rb,
lib/mongo/error/invalid_server_preference.rb,
lib/mongo/error/unsupported_array_filters.rb,
lib/mongo/error/server_certificate_revoked.rb,
lib/mongo/error/transactions_not_supported.rb,
lib/mongo/error/invalid_bulk_operation_type.rb,
lib/mongo/error/connection_check_out_timeout.rb,
lib/mongo/error/insufficient_iteration_count.rb,
lib/mongo/error/invalid_replacement_document.rb,
lib/mongo/error/invalid_server_auth_response.rb,
lib/mongo/error/failed_string_prep_validation.rb,
lib/mongo/error/invalid_transaction_operation.rb,
lib/mongo/error/missing_scram_server_signature.rb,
lib/mongo/error/unchangeable_collection_option.rb,
lib/mongo/error/no_service_connection_available.rb,
lib/mongo/error/snapshot_session_invalid_server_version.rb,
lib/mongo/error/snapshot_session_transaction_prohibited.rb

Overview

Base error class for all Mongo related errors.

Since:

  • 2.0.0

Direct Known Subclasses

BadLoadBalancerTarget, BulkWriteError, ClientClosed, ClosedStream, ConnectionPerished, ConnectionUnavailable, CryptError, ExtraFileChunk, FailedStringPrepValidation, FileNotFound, HandshakeError, InsufficientIterationCount, InternalDriverError, InvalidAddress, InvalidApplicationName, InvalidBulkOperation, InvalidBulkOperationType, InvalidCollectionName, InvalidConfigOption, InvalidCursorOperation, InvalidDatabaseName, InvalidDocument, InvalidFile, InvalidFileRevision, InvalidMaxConnecting, InvalidMinPoolSize, InvalidNonce, InvalidReadConcern, InvalidReadOption, InvalidReplacementDocument, InvalidServerPreference, InvalidSession, InvalidSignature, InvalidTXTRecord, InvalidTransactionOperation, InvalidURI, InvalidUpdateDocument, InvalidWriteConcern, LintError, MaxBSONSize, MaxMessageSize, MismatchedDomain, MissingConnection, MissingFileChunk, MissingPassword, MissingResumeToken, MissingScramServerSignature, MissingServiceId, MultiIndexDrop, NeedPrimaryServer, NoSRVRecords, NoServerAvailable, NoServiceConnectionAvailable, OperationFailure, PoolError, ServerApiConflict, ServerCertificateRevoked, ServerNotUsable, SessionEnded, SnapshotSessionInvalidServerVersion, SnapshotSessionTransactionProhibited, SocketError, TimeoutError, TransactionsNotSupported, UnchangeableCollectionOption, UnexpectedChunkLength, UnexpectedResponse, UnknownPayloadType, UnmetDependency, UnsupportedFeatures, UnsupportedMessageType, UnsupportedOption, Server::AppMetadata::Environment::MissingVariable, Server::AppMetadata::Environment::TooManyEnvironments, Server::AppMetadata::Environment::TypeMismatch, Server::AppMetadata::Environment::ValueTooLong

Defined Under Namespace

Modules: ChangeStreamResumable, Labelable, Notable, ReadWriteRetryable, SdamErrorDetection, WriteRetryable Classes: AuthError, BadLoadBalancerTarget, BulkWriteError, ClientClosed, ClosedStream, ConnectionCheckOutTimeout, ConnectionPerished, ConnectionUnavailable, CredentialCheckError, CryptError, ExtraFileChunk, FailedStringPrepValidation, FileNotFound, HandshakeError, InsufficientIterationCount, InternalDriverError, InvalidAddress, InvalidApplicationName, InvalidBulkOperation, InvalidBulkOperationType, InvalidCollectionName, InvalidConfigOption, InvalidCursorOperation, InvalidDatabaseName, InvalidDocument, InvalidFile, InvalidFileRevision, InvalidMaxConnecting, InvalidMinPoolSize, InvalidNonce, InvalidReadConcern, InvalidReadOption, InvalidReplacementDocument, InvalidServerAuthHost, InvalidServerAuthResponse, InvalidServerPreference, InvalidSession, InvalidSignature, InvalidTXTRecord, InvalidTransactionOperation, InvalidURI, InvalidUpdateDocument, InvalidWriteConcern, KmsError, LintError, MaxBSONSize, MaxMessageSize, MismatchedDomain, MissingConnection, MissingFileChunk, MissingPassword, MissingResumeToken, MissingScramServerSignature, MissingServiceId, MongocryptdSpawnError, MultiIndexDrop, NeedPrimaryServer, NoSRVRecords, NoServerAvailable, NoServiceConnectionAvailable, OperationFailure, Parser, PoolClearedError, PoolClosedError, PoolError, PoolPausedError, RaiseOriginalError, ServerApiConflict, ServerCertificateRevoked, ServerNotUsable, ServerTimeoutError, SessionEnded, SessionNotMaterialized, SessionsNotSupported, SnapshotSessionInvalidServerVersion, SnapshotSessionTransactionProhibited, SocketError, SocketTimeoutError, TimeoutError, TransactionsNotSupported, UnchangeableCollectionOption, UnexpectedChunkLength, UnexpectedResponse, UnknownPayloadType, UnmetDependency, UnsupportedArrayFilters, UnsupportedCollation, UnsupportedFeatures, UnsupportedMessageType, UnsupportedOption

Constant Summary collapse

CODE =

The error code field.

Since:

  • 2.0.0

'code'
ERRMSG =
Deprecated.

The standard error message field

Since:

  • 2.0.0

'errmsg'
WRITE_ERRORS =
Deprecated.

The constant for the writeErrors array.

Since:

  • 2.0.0

'writeErrors'
WRITE_CONCERN_ERROR =
Deprecated.

The constant for a write concern error.

Since:

  • 2.0.0

'writeConcernError'
WRITE_CONCERN_ERRORS =
Deprecated.

The constant for write concern errors.

Since:

  • 2.1.0

'writeConcernErrors'
UNKNOWN_ERROR =

Constant for an unknown error.

Since:

  • 2.0.0

8
BAD_VALUE =

Constant for a bad value error.

Since:

  • 2.0.0

2
CURSOR_NOT_FOUND =

Constant for a Cursor not found error.

Since:

  • 2.2.3

'Cursor not found.'
UNKNOWN_TRANSACTION_COMMIT_RESULT_LABEL =
Deprecated.

Error label describing commitTransaction errors that may or may not occur again if a commit is manually retried by the user.

Since:

  • 2.6.0

'UnknownTransactionCommitResult'
TRANSIENT_TRANSACTION_ERROR_LABEL =
Deprecated.

Error label describing errors that will likely not occur if a transaction is manually retried from the start.

Since:

  • 2.6.0

'TransientTransactionError'

Instance Attribute Summary

Attributes included from Notable

#connection_global_id, #generation, #service_id

Instance Method Summary collapse

Methods included from WriteRetryable

#write_retryable?

Methods included from Labelable

#add_label, #label?, #labels

Methods included from Notable

#add_note, #add_notes, #notes, #to_s

Constructor Details

#initialize(msg = nil) ⇒ Error

Returns a new instance of Error.

Since:

  • 2.0.0



99
100
101
102
# File 'lib/mongo/error.rb', line 99

def initialize(msg = nil)
  super
  @write_concern_error_labels = []
end

Instance Method Details

#change_stream_resumable?true, false

Can the change stream on which this error occurred be resumed, provided the operation that triggered this error was a getMore?

Examples:

Is the error resumable for the change stream?

error.change_stream_resumable?

Returns:

  • (true, false)

    Whether the error is resumable.

Since:

  • 2.6.0



81
82
83
# File 'lib/mongo/error.rb', line 81

def change_stream_resumable?
  false
end

#network_error?true, false

Returns whether this error was caused by a network error.

Returns:

  • (true, false)

    whether this error was caused by a network error.

Since:

  • 2.0.0



28
29
30
# File 'lib/mongo/error/kms_error.rb', line 28

def network_error?
  @network_error == true
end

#write_concern_error_label?(label) ⇒ Boolean

Does the write concern error have the given label?

Parameters:

  • label (String)

    The label to check for the presence of.

Returns:

  • (Boolean)

    Whether the write concern error has the given label.

Since:

  • 2.0.0



109
110
111
# File 'lib/mongo/error.rb', line 109

def write_concern_error_label?(label)
  @write_concern_error_labels.include?(label)
end

#write_concern_error_labelsArray<String>

The set of error labels associated with the write concern error.

Returns:

  • (Array<String>)

    The list of error labels.

Since:

  • 2.0.0



116
117
118
# File 'lib/mongo/error.rb', line 116

def write_concern_error_labels
  @write_concern_error_labels.dup
end