モジュール: Mongo::Error::OperationFailure::ファミリー
- 次による拡張機能。
- 転送可能
- 次のことが含まれます。
- ReadWriteRetryable 、 ShardErrorDeleted
- 次のドキュメントに含まれます。
- Mongo::Error::OperationFailure 、 ServerTimeoutError
- 定義:
- lib/mongo/error/operation_failure.rb
Overview
OperationFailure エラーの動作を実装します。 その他のエラー(例: ServerTimeoutError)もこれを実装することで、OperationFailureエラーとして認識され、扱われる可能性があります。
定数の概要の削減
- CHANGE_STREAM_RESUME_ERRORS =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
変更ストリームでの getMore コマンド が失敗する結果となるエラー コードとコード名は再開されません。
[ {Code_name: 'HostUnreachable', コード: 6}, {Code_name: ' HostNotFound ', コード: 7}, {Code_name: ' NetTimeout ', コード: 89}, {Code_name: ' shutdownInProgress ', コード: 91}, {Code_name: 'プライマリステップダウン', コード: 189}, {Code_name: 'ExceededTimeLimit', コード: 262}, {Code_name: ' SocketException ', コード: 9001}, {Code_name: ' Not Master ', コード: 10107}, {Code_name: '中断されたAtshutdown ', コード: 11600}, {Code_name: ' Interrupted DueToReplStatechange ', コード: 11602}, {Code_name: ' NotPrimaryNoSecondaryOk ', コード: 13435}, {Code_name: ' Not MasterOrSecondary ', コード: 13436}, {Code_name: 'StaleShardVersion', コード: 63}, {Code_name: ' FailedToWaitsifyReadPreference ', コード: 133}, {Code_name: 'StaleEpoch', コード: 150}, {Code_name: ' RetrychangeStream ', コード: 234}, {Code_name: 'StaleConfig', コード: 13388}, ].freeze
- CHANGE_STREAM_RESUME_MESSAGES =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
これらのエラーメッセージが表示されたときに、変更ストリームを再開できます。
ReadWriteRetryable::WRITE_RETRY_MESSAGES
ReadWriteRetryableから含まれる定数
ReadWriteRetryable::RETRY_MESSAGES 、 ReadWriteRetryable::WRITE_RETRY_ERRORS 、 ReadWriteRetryable::WRITE_RETRY_MESSAGES
Sdu Managerに含まれる定数
SdumError Processing::NOD_RECOVERING_CODES 、 SされたError検出::NODE_SHUTTING_DNS_CODES 、 SされたErrorDeleted::NOT_MASTER_CODES
インスタンス属性の概要を折りたたむ
-
#code ⇒ Integer
readOnly
ドキュメントから解析されたエラー コード。
-
#code_name ~ string
readOnly
ドキュメントから解析されたエラー コード名。
-
#詳細= string | nil
readOnly
エラーの詳細。
-
#document ⇒ BSON::Document | nil
readOnly
サーバーが返したエラードキュメント。
-
結果 = 操作 ::結果
readOnly
private
操作の結果オブジェクト。
-
# server_message = string
readOnly
応答から解析されたサーバーが返すエラー メッセージ。
-
#write_concern_error_code =整数 | nil
readOnly
書込み保証 (write concern) エラーが存在し、 コードがある場合の書込み保証 (write concern) エラーのエラー コード。
-
#write_concern_error_code_name = string | nil
readOnly
書込み保証 (write concern) エラーが存在し、コード名がある場合の、書込み保証 (write concern) エラーのコード名。
-
#write_concern_error_document =ハッシュ | nil
readOnly
サーバーによって報告された書込み保証 (write concern) エラーのドキュメント(存在する場合)を返します。
インスタンス メソッドの概要を折りたたむ
-
change_stream_resumeable? = true、false
このエラーが発生した変更ストリームは、このエラーをトリガーした操作が getMore? であった場合、再開できますか。
-
# connection_description = Connection_description = Server:: Description
private
この例外が参照する操作が実行されたサーバーのサーバーの説明。
-
# 初期化(メッセージ = nil、結果 = nil、オプション = {}) = オブジェクト
操作の失敗を作成します。
-
max_time_ms_expired は? = true | false
エラーが MaxTimeMSExpired であるかどうか。
-
#unsupported_retryable_write? = true | false
エラーの原因が、再試行可能な書き込みをサポートしていないストレージ エンジンで再試行可能な書き込みが試行されたかどうか。
-
#write_concern_error = true | false
失敗に書込み保証 (write concern) エラーが含まれているかどうか。
-
#wtimeout? = true | false
エラーが書込み保証 (write concern) タイムアウトであるかどうか。
ReadWriteRetryableに含まれるメソッド
Sされたエラーの検出に含まれるメソッド
#node_reactive? 、 #node_shupping_down 、 #not_ Master か。
インスタンス属性の詳細
コード~整数(読み取り専用)
ドキュメントから解析されたエラー コードを返します。
44 45 46 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 44 デフォルト コード @code end |
#code_name = string (読み取り専用)
ドキュメントから解析されたエラー コード名を返します。
49 50 51 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 49 デフォルト Code_name @code_name end |
#詳細= string | nil (読み取り専用)
152 153 154 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 152 デフォルト 詳細 @ Details end |
#ドキュメント= BSON::Document | nil (読み取り専用)
サーバーが返したエラードキュメントを返します。
157 158 159 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 157 デフォルト ドキュメント @document end |
結果 = Operation::Result (readonly)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
操作の結果オブジェクトを返します。
162 163 164 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 162 デフォルト 結果 @result end |
# server_message = string (読み取り専用)
応答から解析されたサーバーによって返されたエラー メッセージを返します。
55 56 57 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 55 デフォルト @server_message end |
#write_concern_error_code =整数 | nil (読み取り専用)
書込み保証 (write concern) エラーが存在し、コードがある場合、書込み保証 (write concern) エラーのエラー コードを返します。
140 141 142 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 140 デフォルト write_concern_error_code @write_concern_error_code end |
#write_concern_error_code_name = string | nil (読み取り専用)
書込み保証 (write concern) エラーが存在し、コード名がある場合、書込み保証 (write concern) エラーのコード名を返します。
146 147 148 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 146 デフォルト write_concern_error_code_name @write_concern_error_code_name end |
#write_concern_error_document =ハッシュ | nil (読み取り専用)
サーバーによって報告された書込み保証 (write concern) エラーのドキュメント(存在する場合)を返します。
134 135 136 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 134 デフォルト write_concern_error_document @write_concern_error_document end |
インスタンス メソッドの詳細
change_stream_resumeable? = true 、 false
このエラーが発生した変更ストリームは、このエラーをトリガーした操作が getMore であった場合、再開できますか。
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 97 デフォルト change_stream_resumeable? 場合 @result & & @result.is_a?(mongo::操作::Get More::結果) CursorNotFound 例外は、サーバーが # はカーソル ID を認識していないため、次の有無を判断できません。 カーソルは変更ストリームであり、次を追加できません #ResumablechangeStreamError ラベル。 return true 場合 コード == 43 # 未確認の書込みには接続の説明は入力されません。 場合 connection_description.max_wire_version >= 9 ラベル('ResumableChangeStreamError') else change_stream_resumeable_code? end else false end end |
# connection_description = Connection_description = Server:: Description
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
この例外が参照する操作が実行されたサーバーのサーバーの説明を返します。
39 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 39 def_delegator :@result, : connection_description |
# 初期化(メッセージ = nil、結果 = nil、オプション = {}) = オブジェクト
操作の失敗を作成します。
187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 187 デフォルト 初期化( = nil, 結果 = nil, = {}) @ Details = retrieve_details([:document]) スーパー(append_ Details(, @ Details)) @result = 結果 @code = [:code] @code_name = [:code_name] @write_concern_error_document = [:write_concern_error_document] @write_concern_error_code = [:write_concern_error_code] @write_concern_error_code_name = [:write_concern_error_code_name] @write_concern_error_ labels = [:write_concern_error_ labels] || [] @ labels = [: labels] || [] @wtimeout = !![:wtimeout] @document = [:document] @server_message = [:server_message] end |
max_time_ms_expired は? = true | false
エラーが MaxTimeMSExpired であるかどうか。
218 219 220 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 218 デフォルト max_time_ms_expired? コード == 50 #MaxTimeMSExpired end |
#unsupported_retryable_write? = true | false
エラーの原因が、再試行可能な書き込みをサポートしていないストレージ エンジンで再試行可能な書き込みが試行されたかどうか。
再試行可能な書込みをサポートしていないストレージ エンジンでの再試行可能な書込み。
229 230 231 232 233 234 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 229 デフォルト unsupported_retryable_write? #コード20は IllexalOperation です。 ドキュメントは BSON::Document であることが予想されていることに注意してください。 は、string キーを持つか、異なるアクセスを提供するかのいずれかになります。 コード == 20 & & &.start_with?("トランザクション番号") || false end |
#write_concern_error = true | false
失敗に書込み保証 (write concern) エラーが含まれているかどうかを返します。 障害には、最上位エラーと書込み保証 (write concern) エラー、または 2 つのいずれかが含まれます。
126 127 128 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 126 デフォルト write_concern_error !!@write_concern_error_document end |
#wtimeout? = true | false
エラーが書込み保証 (write concern) タイムアウトであるかどうか。
209 210 211 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 209 デフォルト wtimeout? @wtimeout end |