Exception: Moped::Errors::PotentialReconfiguration

Inherits:
MongoError show all
Defined in:
lib/moped/errors.rb

Overview

Classes of errors that could be caused by a replica set reconfiguration.

Direct Known Subclasses

OperationFailure, QueryFailure

Constant Summary collapse

NOT_MASTER =

Not master error codes.

[ 13435, 13436, 10009]
CONNECTION_ERRORS_RECONFIGURATION =

Error codes received around reconfiguration

[ 15988, 10276, 11600, 9001 ]

Instance Attribute Summary

Attributes inherited from MongoError

#command, #command The command that generated the error., #details, #details The details about the error.

Instance Method Summary collapse

Methods inherited from MongoError

#initialize

Constructor Details

This class inherits a constructor from Moped::Errors::MongoError

Instance Method Details

#connection_failure?Boolean

Returns:

  • (Boolean)


116
117
118
# File 'lib/moped/errors.rb', line 116

def connection_failure?
  CONNECTION_ERRORS_RECONFIGURATION.include?(details["code"])
end

#reconfiguring_replica_set?Boolean

Replica set reconfigurations can be either in the form of an operation error with code 13435, or with an error message stating the server is not a master. (This encapsulates codes 10054, 10056, 10058)

Returns:

  • (Boolean)


111
112
113
114
# File 'lib/moped/errors.rb', line 111

def reconfiguring_replica_set?
  err = details["err"] || details["errmsg"] || details["$err"] || ""
  NOT_MASTER.include?(details["code"]) || err.include?("not master")
end