モジュール: Mongo::Error::ReadWriteRetryable

次のドキュメントに含まれます。
Auth::Un authorizedOperationFailure
定義:
build/ruby-Driver-v 2.19 /lib/mongo/error/read_write_retryable.rb

Overview

注:

このモジュールのメソッドはパブリック API の一部ですが、これらのメソッドがこのモジュールで定義され、このモジュールを含むクラスでは定義されていないという点は、パブリック API の一部ではありません。

エラーが再試行可能かどうかを示す機能をカプセル化するモジュール。

以来

  • 2.0.0

定数の概要の削減

WRITE_RETRY_ERRORS =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

失敗した書き込みを再試行する必要があるエラー コードとコード名。

以来

  • 2.0.0

[
  {:code_name => 'HostUnreachable', :code => 6},
  {:code_name => ' HostNotFound ', :code => 7},
  {:code_name => ' NetTimeout ', :code => 89},
  {:code_name => ' shutdownInProgress ', :code => 91},
  {:code_name => 'プライマリステップダウン', :code => 189},
  {:code_name => 'ExceededTimeLimit', :code => 262},
  {:code_name => ' SocketException ', :code => 9001},
  {:code_name => ' Not Master ', :code => 10107},
  {:code_name => '中断されたAtshutdown ', :code => 11600},
  {:code_name => ' Interrupted DueToReplStatechange ', :code => 11602},
  {:code_name => ' NotPrimaryNoSecondaryOk ', :code => 13435},
  {:code_name => ' Not MasterOrSecondary ', :code => 13436},
].freeze
WRITE_RETRY_MESSAGES =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

これらはマスターの変更を示している可能性のある特殊なエラーメッセージです。

以来

  • 2.0.0

[
  'マスターではありません',
  ノードはリカバリしています,
].freeze
RETRY_MESSAGES =

この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。

これらは、mongos の背後でクラスターの再構成が行われていることを示す可能性のあるトリックなエラー メッセージです。

以来

  • 2.0.0

WRITE_RETRY_MESSAGES + [
  'トランスポートエラー',
  'ソケット例外',
  "は接続できません",
  接続に失敗しました,
  'クエリのエラー',
  は最後エラーになりました,
  '接続試行に失敗しました',
  'シャットダウン時に中断されました',
  不明なレプリカセット,
  'サーバー との通信エラー'
].freeze

インスタンス メソッドの概要を折りたたむ

インスタンス メソッドの詳細

再試行可能かどうか= truefalse

非推奨。

レガシーの読み取り再試行ロジックに従って、エラーが再試行可能なエラーであるかどうか。

次の値を返します。

  • truefalse

以来

  • 2.0.0



81
82
83
84
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/read_write_retryable.rb '、 行81

デフォルト 再試行可能かどうか
  write_retryable? ||
  コード.nil? & & RETRY_MESSAGES.any?{ |m| メッセージ.include?(m) }
end

書込み_再試行可能かどうか= truefalse

最新の再試行可能な読み取りと再試行可能な書込みの仕様に従って、エラーが再試行可能なエラーであるかどうか。

このメソッドは、レガシーの 再試行可能な書き込みロジック でも、エラーが再試行可能なエラーかどうかを判断するために使用されます。

次の値を返します。

  • truefalse

以来

  • 2.0.0



93
94
95
96
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/error/read_write_retryable.rb '、 行93

デフォルト write_retryable?
  write_retryable_code? ||
  コード.nil? & & WRITE_RETRY_MESSAGES.any? { |m| メッセージ.include?(m) }
end