モジュール: OperationFailure::ファミリー
- 次による拡張機能。
- 転送可能
- 次のドキュメントに含まれます。
- Mongo::Error::OperationFailure、 Mongo::Error::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 ', コード: 10_107 }, { Code_name: '中断されたAtshutdown ', コード: 11_600 }, { Code_name: ' Interrupted DueToReplStatechange ', コード: 11_602 }, { Code_name: ' NotPrimaryNoSecondaryOk ', コード: 13_435 }, { Code_name: ' Not MasterOrSecondary ', コード: 13_436 }, { Code_name: 'StaleShardVersion', コード: 63 }, { Code_name: ' FailedToWaitsifyReadPreference ', コード: 133 }, { Code_name: 'StaleEpoch', コード: 150 }, { Code_name: ' RetrychangeStream ', コード: 234 }, { Code_name: 'StaleConfig', コード: 13_388 }, ].freeze
- CHANGE_STREAM_RESUME_MESSAGES =
この定数は、プライベート API の一部です。 この定数は将来削除または変更される可能性があるため、可能な限り使用しないでください。
これらのエラーメッセージが表示されたときに、変更ストリームを再開できます。
ReadWriteRetryable::WRITE_RETRY_MESSAGES
Mongoから含まれる定数 ::Error::ReadWriteRetryable
Mongo::Error::ReadWriteRetryable::RETRY_MESSAGES、 Mongo::Error::ReadWriteRetryable::WRITE_RETRY_ERRORS、 Mongo::Error::ReadWriteRetryable::WRITE_RETRY_MESSAGES
Mongo::Error::SamErrorDeleted から含まれる定数
Mongo::Error::SdumpError Processing::NODE_RECOVERING_CODES , Mongo::Error::SdumErrorDeleted::NODE_SHUTING_DODES , Mongo::Error::SdumpErrorDeleted::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 であるかどうか。
-
#write_concern_error = true | false
失敗に書込み保証 (write concern) エラーが含まれているかどうか。
-
#wtimeout? = true | false
エラーが書込み保証 (write concern) タイムアウトであるかどうか。
Mongoから含まれるメソッド ::Error::ReadWriteRetryable
Mongoに含まれるメソッド ::Error::SamErrorDeleted
#node_reactive? 、 #node_shupping_down 、 #not_ Master か。
インスタンス属性の詳細
コード~整数(読み取り専用)
ドキュメントから解析されたエラー コードを返します。
43 44 45 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 43 デフォルト コード @code end |
#code_name = string (読み取り専用)
ドキュメントから解析されたエラー コード名を返します。
48 49 50 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 48 デフォルト Code_name @code_name end |
#詳細= string | nil (読み取り専用)
エラーの詳細を返します。WriteConcernErrors の場合、これは document['writeConcernError']['errInfo'] です。WriteErrors の場合、これは document['writeErrors'][0]['errInfo'] です。他のすべてのエラーの場合、これは nil です。
151 152 153 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 151 デフォルト 詳細 @ Details end |
#ドキュメント= BSON::Document | nil (読み取り専用)
サーバーが返したエラードキュメントを返します。
156 157 158 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 156 デフォルト ドキュメント @document end |
結果 = Operation::Result (readonly)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
操作の結果オブジェクトを返します。
161 162 163 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 161 デフォルト 結果 @result end |
# server_message = string (読み取り専用)
応答から解析されたサーバーによって返されたエラー メッセージを返します。
54 55 56 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 54 デフォルト @server_message end |
#write_concern_error_code =整数 | nil (読み取り専用)
書込み保証 (write concern) エラーが存在し、コードがある場合、書込み保証 (write concern) エラーのエラー コードを返します。
139 140 141 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 139 デフォルト write_concern_error_code @write_concern_error_code end |
#write_concern_error_code_name = string | nil (読み取り専用)
書込み保証 (write concern) エラーが存在し、コード名がある場合、書込み保証 (write concern) エラーのコード名を返します。
145 146 147 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 145 デフォルト write_concern_error_code_name @write_concern_error_code_name end |
#write_concern_error_document =ハッシュ | nil (読み取り専用)
サーバーによって報告された書込み保証 (write concern) エラーのドキュメント(存在する場合)を返します。
133 134 135 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 133 デフォルト write_concern_error_document @write_concern_error_document end |
インスタンス メソッドの詳細
change_stream_resumeable? = true 、 false
このエラーが発生した変更ストリームは、このエラーをトリガーした操作が getMore であった場合、再開できますか。
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 96 デフォルト 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 の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
この例外が参照する操作が実行されたサーバーのサーバーの説明を返します。
38 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 38 def_delegator :@result, : connection_description |
# 初期化(メッセージ = nil、結果 = nil、オプション = {}) = オブジェクト
操作の失敗を作成します。
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 186 デフォルト 初期化( = 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 であるかどうか。
217 218 219 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 217 デフォルト max_time_ms_expired? コード == 50 #MaxTimeMSExpired end |
#write_concern_error = true | false
失敗に書込み保証 (write concern) エラーが含まれているかどうかを返します。 障害には、最上位エラーと書込み保証 (write concern) エラー、または 2 つのいずれかが含まれます。
125 126 127 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 125 デフォルト write_concern_error !!@write_concern_error_document end |
#wtimeout? = true | false
エラーが書込み保証 (write concern) タイムアウトであるかどうか。
208 209 210 |
ファイル 'lib/mongo/error/operation_failure.rb' 行 208 デフォルト wtimeout? @wtimeout end |