モジュール: Mongo::Error::ReadWriteRetryable
- 次のドキュメントに含まれます。
- Auth::Un authorized 、 OperationFailure
- 定義:
- build/ruby-Driver-v 2.19 /lib/mongo/error/read_write_retryable.rb
Overview
注:
このモジュールのメソッドはパブリック API の一部ですが、これらのメソッドがこのモジュールで定義され、このモジュールを含むクラスでは定義されていないという点は、パブリック API の一部ではありません。
エラーが再試行可能かどうかを示す機能をカプセル化するモジュール。
定数の概要の削減
- WRITE_RETRY_ERRORS =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
失敗した書き込みを再試行する必要があるエラー コードとコード名。
[ {: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 の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
これらはマスターの変更を示している可能性のある特殊なエラーメッセージです。
[ 'マスターではありません', 「ノードはリカバリしています」, ].freeze
- RETRY_MESSAGES =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
これらは、mongos の背後でクラスターの再構成が行われていることを示す可能性のあるトリックなエラー メッセージです。
WRITE_RETRY_MESSAGES + [ 'トランスポートエラー', 'ソケット例外', "は接続できません", 「接続に失敗しました」, 'クエリのエラー', は最後のエラーになりました。, '接続試行に失敗しました', 'シャットダウン時に中断されました', 「不明なレプリカセット」, 'サーバー との通信エラー' ].freeze
インスタンス メソッドの概要を折りたたむ
- 再試行可能かどうか= true、false 非推奨 非推奨。
-
書込み_再試行可能かどうか= true、false
最新の再試行可能な読み取りと再試行可能な書込みの仕様に従って、エラーが再試行可能なエラーであるかどうか。
インスタンス メソッドの詳細
再試行可能かどうか= true 、 false
非推奨。
レガシーの読み取り再試行ロジックに従って、エラーが再試行可能なエラーであるかどうか。
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 |
書込み_再試行可能かどうか= true 、 false
最新の再試行可能な読み取りと再試行可能な書込みの仕様に従って、エラーが再試行可能なエラーであるかどうか。
このメソッドは、レガシーの 再試行可能な書き込みロジック でも、エラーが再試行可能なエラーかどうかを判断するために使用されます。
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 |