Solrの停止がゾンビプロセスに対応しません - 対応するべきでしょうか?

トピック作成者:ks-solruserml-bot (2024/06/04 22:49 投稿)
2
CloseClose

(The bot translated the original post https://lists.apache.org/thread/lmldhwh6440fyvloqodfc4q1rfsdmlbc into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

こんにちは、

Linux上でSolrを停止する際に、このコマンドが使用されます:
CHECK_PID=\ps auxww | awk '{print $2}' | grep -w $SOLR_PID | sort -r | tr -d ' '``
https://github.com/apache/solr/blob/122c88a0748769432ef62cc3fb94c2226dd67aa7/solr/bin/solr#L871

Solrが停止したがゾンビプロセスとして残っている場合、そのプロセスエントリはテーブルに残るため、ps auxwwはkill -9の後もPIDを表示し続けます。その結果、以下のようになり、停止に3分無駄に費やされます。

[2021-07-21T09:15:12.365Z] Sending stop command to Solr running on port 8983 ... waiting up to 180 seconds to allow Jetty process 12622 to stop gracefully.
[2021-07-21T09:18:13.551Z] [|] Solr process 12622 is still running; jstacking it now.
[2021-07-21T09:18:21.806Z] 12622: Unable to open socket file /proc/12622/root/tmp/.java_pid12622: target process 12622 doesn't respond within 10500ms or HotSpot VM not loaded
[2021-07-21T09:18:21.806Z] Solr process 12622 is still running; forcefully killing it now.
[2021-07-21T09:18:21.806Z] Killed process 12622
[2021-07-21T09:18:31.678Z] ERROR: Failed to kill previous Solr Java process 12622 ... script fails.

しかし、ps auxwwの出力はSTATの下にゾンビプロセスを識別します:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 12622 1.4 0.0 0 0 pts/1 Z 10:42 0:26 [java] <defunct>

したがって、CHECK_PIDはゾンビプロセスをフィルタリングすることができます。
明らかに、大きな問題はなぜプロセスがゾンビとして終了したかです(この場合、SolrをDockerコンテナ内で実行する際に"--init"を指定しなかったためです)。
https://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/

そのため、ユーザーが対応できるように、プロセスがゾンビであることを警告するメッセージを追加する価値があるかもしれません。

他に代替の提案がなければ、JIRAでこの問題を報告し、修正案を提出する予定です。

よろしくお願いします、
Colvin

返信投稿者:ks-solruserml-bot (2024/06/04 22:49 投稿)

それは合理的なチェックの追加のように思えます。ただし、注意すべき点として、多くの開発者がローカルテストにMacを使用しているため、使用するフラグが一般的にクロスプラットフォーム互換であること、または適切な条件の後ろに隠されていることを確認してください。

返信投稿者:ks-solruserml-bot (2024/06/04 22:50 投稿)

了解しました。それを考慮に入れておきます。
https://issues.apache.org/jira/browse/SOLR-15558
空き時間ができたら、パッチを追加します。

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?