Susumu Yata
null+****@clear*****
Fri Jan 26 16:54:19 JST 2018
Susumu Yata 2018-01-26 16:54:19 +0900 (Fri, 26 Jan 2018) New Revision: 1a9b0beefccc91e1c51b245c3763b0adcf95f73e https://github.com/groonga/groonga/commit/1a9b0beefccc91e1c51b245c3763b0adcf95f73e Message: doc: translate a part of troubleshooting Modified files: doc/locale/ja/LC_MESSAGES/troubleshooting.po doc/source/troubleshooting.rst doc/source/troubleshooting/how_to_analyze_error_message.rst Modified: doc/locale/ja/LC_MESSAGES/troubleshooting.po (+49 -29) =================================================================== --- doc/locale/ja/LC_MESSAGES/troubleshooting.po 2018-01-26 11:47:54 +0900 (0918277ae) +++ doc/locale/ja/LC_MESSAGES/troubleshooting.po 2018-01-26 16:54:19 +0900 (e696aebed) @@ -17,8 +17,8 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -msgid "トラブルシューティング" -msgstr "" +msgid "Troubleshooting" +msgstr "トラブルシューティング" msgid "同じ検索キーワードなのに全文検索結果が異なる" msgstr "" @@ -251,79 +251,99 @@ msgid "" "てください。検索ノイズが多くなった場合は指定する値を低くする必要があります。" msgstr "" -msgid "エラーメッセージの解析方法" -msgstr "" +msgid "How to analyze error messages" +msgstr "エラーメッセージの解析方法" -msgid "" +msgid "This section describes how to analyze Groonga error messages." +msgstr "" "Groongaは様々なエラーメッセージを出力しますが、出力されたエラーメッセージ を" "もとに、原因を解析する方法はいままで、明文化していませんでした。 ここでは、エ" "ラーメッセージごとの解析方法を記載します。" -msgstr "" -msgid "ソケットエラーの解析方法" -msgstr "" +msgid "How to analyze socket errors" +msgstr "ソケットエラーの解析方法" -msgid "ここでは、Groongaで発生するソケットエラーの解析方法について説明します。" +msgid "This subsection describes how to analyze socket errors with an example." msgstr "" +"ここでは、Groongaで発生するソケットエラーの解析方法について説明します。" + +msgid "Example" +msgstr "例" msgid "" +"The following is an example of an error message repoted by Groonga, where " +"xxxxx is an arbitrary number::" +msgstr "" "Groongaのエラーログで以下のようなエラーログがあります。(xxxxxには任意の数字が" "入ります。)::" -msgstr "" -msgid "解析方法" -msgstr "" +msgid "How to analyze" +msgstr "解析方法" msgid "" +"First, grep Groonga source files for \"SOERR\" that is the name of a macro " +"for socket errors." +msgstr "" "まず、ソケットエラーを扱うマクロである、SOERR というキーワードでGroongaのソー" "スコードをgrepします。" -msgstr "" msgid "" -"次に見つかったSOERRの引数にacceptが入っているSOERRをさがします。 すると次の" -"SOERRが見つかります。ログに出ているのはacceptのみなので、下記の最後の行が例で" -"出力されたエラーメッセージに該当するとわかります。::" +"Then, extract SOERRs whose argument contains \"accept\" from the grep output " +"and you will find the following SOERRs::" msgstr "" +"次に見つかったSOERRの引数にacceptが入っているSOERRをさがします。 すると次の" +"SOERRが見つかります。::" -msgid "該当するエラー出力の周辺のコードを見ると以下のようになっています。::" +msgid "" +"It is clear that the above error message is associated with the last line " +"because the error message contains only \"accept\"." msgstr "" +"ログに出ているのはacceptのみなので、最後の行が例で出力されたエラーメッセージ" +"に該当するとわかります。" + +msgid "The source code around the line is as follows::" +msgstr "該当するエラー出力の周辺のコードを見ると以下のようになっています。::" msgid "" +"From the above source code, you can confirm that the error occurred due to " +"accept. Let's dig into the cause." +msgstr "" "上記のコードから、acceptを実行してエラーが発生したことが確認できます。 次は、" "acceptが失敗した原因を追っていきます。" -msgstr "" -msgid "acceptが失敗した理由は、::" -msgstr "" +msgid "The error message provides hints for investigation::" +msgstr "acceptが失敗した理由は、::" msgid "" +"10055 is a Windows socket error code and \"no buffer\" is a message by " +"Groonga given in SOERR." +msgstr "" "から追うことができます。 10055はWindowsのソケットエラーコードを表しています。" "また、no bufferはSOERRマクロ内でGroongaが用意しているメッセージです。 Windows" "のシステムエラーコードから調査しても良いですし、Groongaが出力しているエラー" "メッセージから調査しても良いです。" -msgstr "" -msgid "Windowsのシステムエラーコードは以下のページに一覧があります。::" -msgstr "" +msgid "Windows socket error codes are listed in the following page::" +msgstr "Windowsのシステムエラーコードは以下のページに一覧があります。::" -msgid "" +msgid "10055 is assigned to WSAENOBUFS and its description is as follows::" +msgstr "" "システムエラーコードまたは、エラーメッセージから調査すると、acceptが失敗した" "理由は、WSAENOBUFSであることがわかります。さらに、WSAENOBUFSが発生する原因を" "調査するとWSAENOBUFSが発生する原因は以下であることがわかります。::" -msgstr "" msgid "" +"From the above description, you can narrow down the causes. The possible " +"causes are the lack of memory and too many connections. Finally, determine " +"which one is appropriate for the situation when the error occurred." +msgstr "" "上記のメッセージから、acceptが失敗する原因は、メモリー不足または、接続数が多" "すぎる場合であることがわかりました。 あとは、エラーメッセージが出た際の状況か" "ら、接続数が多かったのか、メモリ不足だったのかを判断します。" -msgstr "" msgid "How to avoid mmap Cannot allocate memory error" msgstr "mmap Cannot allocate memoryエラーを回避するには" -msgid "Example" -msgstr "例" - msgid "There is a case following mmap error in log file:" msgstr "ログファイルに以下のようなmmapエラーが存在する場合があります。::" Modified: doc/source/troubleshooting.rst (+2 -2) =================================================================== --- doc/source/troubleshooting.rst 2018-01-26 11:47:54 +0900 (3848ff487) +++ doc/source/troubleshooting.rst 2018-01-26 16:54:19 +0900 (44cd9016b) @@ -3,8 +3,8 @@ .. highlightlang:: none -トラブルシューティング -====================== +Troubleshooting +=============== .. toctree:: :maxdepth: 2 Modified: doc/source/troubleshooting/how_to_analyze_error_message.rst (+25 -28) =================================================================== --- doc/source/troubleshooting/how_to_analyze_error_message.rst 2018-01-26 11:47:54 +0900 (9f4787d52) +++ doc/source/troubleshooting/how_to_analyze_error_message.rst 2018-01-26 16:54:19 +0900 (dafc16e1b) @@ -2,42 +2,40 @@ .. highlightlang:: none -エラーメッセージの解析方法 -========================== +How to analyze error messages +============================= -Groongaは様々なエラーメッセージを出力しますが、出力されたエラーメッセージ -をもとに、原因を解析する方法はいままで、明文化していませんでした。 -ここでは、エラーメッセージごとの解析方法を記載します。 +This section describes how to analyze Groonga error messages. -ソケットエラーの解析方法 ------------------------- +How to analyze socket errors +---------------------------- -ここでは、Groongaで発生するソケットエラーの解析方法について説明します。 +This subsection describes how to analyze socket errors with an example. -例 -^^ +Example +^^^^^^^ -Groongaのエラーログで以下のようなエラーログがあります。(xxxxxには任意の数字が入ります。):: +The following is an example of an error message repoted by Groonga, where xxxxx is an arbitrary number:: socket error[xxxxx]: no buffer: accept -解析方法 -^^^^^^^^ +How to analyze +^^^^^^^^^^^^^^ -まず、ソケットエラーを扱うマクロである、SOERR というキーワードでGroongaのソースコードをgrepします。 +First, grep Groonga source files for "SOERR" that is the name of a macro for socket errors. -次に見つかったSOERRの引数にacceptが入っているSOERRをさがします。 -すると次のSOERRが見つかります。ログに出ているのはacceptのみなので、下記の最後の行が例で出力されたエラーメッセージに該当するとわかります。:: +Then, extract SOERRs whose argument contains "accept" from the grep output and you will find the following SOERRs:: lib/com.c: SOERR("listen - start accept"); lib/com.c: SOERR("listen - disable accept"); lib/com.c: SOERR("accept"); +It is clear that the above error message is associated with the last line because the error message contains only "accept". -該当するエラー出力の周辺のコードを見ると以下のようになっています。:: +The source code around the line is as follows:: grn_sock fd = accept(com->fd, NULL, NULL); if (fd == -1) { @@ -46,29 +44,28 @@ Groongaのエラーログで以下のようなエラーログがあります。( } else { SOERR("accept"); } - return; + return; } -上記のコードから、acceptを実行してエラーが発生したことが確認できます。 -次は、acceptが失敗した原因を追っていきます。 +From the above source code, you can confirm that the error occurred due to accept. +Let's dig into the cause. -acceptが失敗した理由は、:: +The error message provides hints for investigation:: [10055]: no buffer -から追うことができます。 -10055はWindowsのソケットエラーコードを表しています。また、no bufferはSOERRマクロ内でGroongaが用意しているメッセージです。 -Windowsのシステムエラーコードから調査しても良いですし、Groongaが出力しているエラーメッセージから調査しても良いです。 +10055 is a Windows socket error code and "no buffer" is a message by Groonga given in SOERR. -Windowsのシステムエラーコードは以下のページに一覧があります。:: +Windows socket error codes are listed in the following page:: https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms740668(v=vs.85).aspx -システムエラーコードまたは、エラーメッセージから調査すると、acceptが失敗した理由は、WSAENOBUFSであることがわかります。さらに、WSAENOBUFSが発生する原因を調査するとWSAENOBUFSが発生する原因は以下であることがわかります。:: +10055 is assigned to WSAENOBUFS and its description is as follows:: No buffer space available. An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full. -上記のメッセージから、acceptが失敗する原因は、メモリー不足または、接続数が多すぎる場合であることがわかりました。 -あとは、エラーメッセージが出た際の状況から、接続数が多かったのか、メモリ不足だったのかを判断します。 +From the above description, you can narrow down the causes. +The possible causes are the lack of memory and too many connections. +Finally, determine which one is appropriate for the situation when the error occurred. -------------- next part -------------- HTML����������������������������... URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20180126/5a4601cb/attachment-0001.htm