模块:Mongo::Error::SdamErrorDetection

包含在:
OperationFailure , Parser
定义于:
build/Ruby-driver-v 2.19 /lib/mongo/error/sdam_error_decion.rb

Overview

注意:

虽然 not_master?和 node_recovering? 该模块的方法是公共 API 的一部分,但这些方法是在此模块上定义的,而不是在包含该模块的类上定义的,因此不属于公共 API 的一部分。

由于:

  • 2.0.0

常量摘要折叠

NOT_MASTER_CodeS =

此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。

由于:

  • 2.0.0

[10107, 13435].冻结
NODE_RECOVERING_CodeS =

此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。

由于:

  • 2.0.0

[11600, 11602, 13436, 189, 91, 10058].冻结
NODE_SHUTTING_down_codes =

此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。

由于:

  • 2.0.0

[11600, 91].冻结

实例方法摘要折叠

实例方法详细信息

# node_recovering?true | false

返回:

  • ( true | false )

    错误是否为正在恢复的节点。

由于:

  • 2.8.0



53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'build/Ruby-driver-v 2.19 /lib/mongo/error/sdam_error_decion.rb', 第53行

def node_recovering?
  # 要求在响应的顶层传达错误
  # 以影响 SDAM 状态。 请参阅 DRIVERS- 1376 / RUBY- 2516 。
  return false if 文档 && 文档[' Ok '] == 1

  if 代码
    NODE_RECOVERING_CodeS.包括?(代码)
  elsif message
    message.包括?(' node is Recovery ') || message.包括?(' not master or 从节点(secondary node from replica set) ')
  else
    false
  end
end

# node_shutting_down?true | false

返回:

  • ( true | false )

    错误是否为正在关闭的节点。

由于:

  • 2.9.0



74
75
76
77
78
79
80
# File 'build/Ruby-driver-v 2.19 /lib/mongo/error/sdam_error_decion.rb', 第74行

def node_shutting_down?
  if 代码 && NODE_SHUTTING_down_codes.包括?(代码)
    true
  else
    false
  end
end

# not_master?true | false

返回:

  • ( true | false )

    错误是否为非主错误。

由于:

  • 2.8.0



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'build/Ruby-driver-v 2.19 /lib/mongo/error/sdam_error_decion.rb', 第30行

def not_master?
  # 要求在响应的顶层传达错误
  # 以影响 SDAM 状态。 请参阅 DRIVERS- 1376 / RUBY- 2516 。
  return false if 文档 && 文档[' Ok '] == 1

  if node_recovering?
    false
  elsif 代码
    NOT_MASTER_CodeS.包括?(代码)
  elsif message
    message.包括?(' not master ')
  else
    false
  end
end