Módulo: Mongo::Error::SdamErrorDetection

Incluido en:
Parser, OperationFailure::Family
Definido en:
lib/mongo/error/sdam_error_detection.rb

Overview

Nota:

Aunque not_master? y node_recovering? los métodos de este módulo son parte de la API pública, el hecho de que estos métodos estén definidos en este módulo y no en las clases que incluyen este módulo no es parte de la API pública.

Desde:

  • 2.0.0

Resumen de constantes colapsar

NOT_MASTER_CODES =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

Desde:

  • 2.0.0

[ 10_107, 13_435 ].freeze
NODE_RECOVERING_CODES =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

Desde:

  • 2.0.0

[ 11_600, 11_602, 13_436, 189, 91, 10_058 ].freeze
NODE_SHUTTING_DOWN_CODES =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

Desde:

  • 2.0.0

[ 11_600, 91 ].freeze

Resumen del método de instancia colapsar

Detalles del método de instancia

#node_recovering?true | false

Devuelve:

  • (true | false)

    Si el error es que un nodo se está recuperando.

Desde:

  • 2.8.0



51
52
53
54
55
56
57
58
59
60
61
62
63
# Archivo 'lib/mongo/error/sdam_error_detection.rb', línea 51

def recover_node?
  # Se requiere que el error se comunique en el nivel superior de la respuesta
  # para que influya en el estado SDAM. Consulta CONDUCTORES -1376 / RUBY -2516.
  return false si Documento && Documento['ok'] == 1

  si Código
    NODE_RECOVERING_CODES.incluir?(Código)
  elsif mensaje
    mensaje.incluir?('nodo se está recuperando') || mensaje.incluir?('no es master ni secundario')
  else
    false
  end
end

#node_shutting_down?verdadero | falso

Devuelve:

  • (true | false)

    Si el error es que un nodo se está apagando.

Desde:

  • 2.9.0



72
73
74
75
76
77
78
# Archivo 'lib/mongo/error/sdam_error_detection.rb', línea 72

def ¿nodo_apagándose?
  si Código && NODE_SHUTTING_DOWN_CODES.incluir?(Código)
    true
  else
    false
  end
end

#no_es_master?true | false

Devuelve:

  • (true | false)

    Si el error se debe a que no hay un nodo primario.

Desde:

  • 2.8.0



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Archivo 'lib/mongo/error/sdam_error_detection.rb', línea 28

def no_principal?
  # Se requiere que el error se comunique en el nivel superior de la respuesta
  # para que influya en el estado SDAM. Consulta CONDUCTORES -1376 / RUBY -2516.
  return false si Documento && Documento['ok'] == 1

  si recover_node?
    false
  elsif Código
    NO_CÓDIGOS_MAESTROS.incluir?(Código)
  elsif mensaje
    mensaje.incluir?('no principal')
  else
    false
  end
end