Exception: Mongo::Error::NoServerAvailable

Inherits:
Mongo::Error
  • Object
show all
Defined in:
build/ruby-driver-v2.19/lib/mongo/error/no_server_available.rb

Overview

Raised if there are no servers available matching the preference.

Since:

  • 2.0.0

Constant Summary

Constants inherited from Mongo::Error

BAD_VALUE, CODE, CURSOR_NOT_FOUND, ERR, ERRMSG, ERROR, TRANSIENT_TRANSACTION_ERROR_LABEL, UNKNOWN_ERROR, UNKNOWN_TRANSACTION_COMMIT_RESULT_LABEL, WRITE_CONCERN_ERROR, WRITE_CONCERN_ERRORS, WRITE_ERRORS

Instance Attribute Summary

Attributes included from Notable

#connection_global_id, #generation, #service_id

Instance Method Summary collapse

Methods inherited from Mongo::Error

#change_stream_resumable?, #write_concern_error_label?, #write_concern_error_labels

Methods included from ChangeStreamResumable

#change_stream_resumable?

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(server_selector, cluster = nil, msg = nil) ⇒ NoServerAvailable

Instantiate the new exception.

Examples:

Instantiate the exception.

Mongo::Error::NoServerAvailable.new(server_selector)

Parameters:

  • server_selector (Hash)

    The server preference that could not be satisfied.

  • cluster (Cluster) (defaults to: nil)

    The cluster that server selection was performed on. (added in 2.7.0)

Since:

  • 2.0.0



37
38
39
40
41
42
43
44
45
46
47
48
# File 'build/ruby-driver-v2.19/lib/mongo/error/no_server_available.rb', line 37

def initialize(server_selector, cluster=nil, msg=nil)
  unless msg
    msg = "No #{server_selector.name} server is available"
    if cluster
      msg += " in cluster: #{cluster.summary}"
    end
    msg += " with timeout=#{server_selector.server_selection_timeout}, " +
      "LT=#{server_selector.local_threshold}"
  end

  super(msg)
end