Módulo: Mongo::Error::SdamErrorDetection

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

Overview

Nota:

Aunque los métodos not_master? y node_recovering? 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

Colapso delresumen constante

NO_CÓDIGOS_MAESTROS =

Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Desde:

  • 2.0.0

[10107, 13435].freeze
NODE_RECOVERING_CODES =

Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Desde:

  • 2.0.0

[11600, 11602, 13436, 189, 91, 10058].freeze
NODE_SHUTTING_DOWN_CODES =

Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Desde:

  • 2.0.0

[11600, 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



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

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?('Elnodo 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



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

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

#no_maestro?verdadero | falso

Devuelve:

  • (true | false)

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

Desde:

  • 2.8.0



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

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