class Mongo::Error::OperationFailure
Raised when an operation fails for some reason.
@since 2.0.0
Constants
- RETRY_MESSAGES
These are magic error messages that could indicate a cluster reconfiguration behind a mongos. We cannot check error codes as they change between versions, for example 15988 which has 2 completely different meanings between 2.4 and 3.0.
@since 2.1.1
- WRITE_RETRY_MESSAGES
These are magic error messages that could indicate a master change.
@since 2.4.2
Public Class Methods
Create the operation failure.
@example Create the error object
OperationFailure.new(message, result)
param [ String ] message The error message. param [ Operation::Result ] result The result object.
@since 2.5.0
# File lib/mongo/error/operation_failure.rb, line 88 def initialize(message = nil, result = nil) @result = result super(message) end
Public Instance Methods
Can the read operation that caused the error be retried?
@example Is the error retryable?
error.retryable?
@return [ true, false ] If the error is retryable.
@since 2.1.1
# File lib/mongo/error/operation_failure.rb, line 63 def retryable? RETRY_MESSAGES.any?{ |m| message.include?(m) } end
Can the write operation that caused the error be retried?
@example Is the error retryable for writes?
error.write_retryable?
@return [ true, false ] If the error is retryable.
@since 2.4.2
# File lib/mongo/error/operation_failure.rb, line 75 def write_retryable? WRITE_RETRY_MESSAGES.any? { |m| message.include?(m) } end