1


0

mongrelクラスタには、実行中の各プロセスにUSR2シグナルを送信するローリングリスタートモードがあります。

ほとんどの場合、これはうまく機能します。 しかし、ごくまれに、mongrelプロセスがシャットダウンしてから再起動に失敗し、次のエラーが表示されることがあります。

/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/tcphack.rb:12:in `initialize_without_backlog ':既に使用されているアドレス -  bind(2) (Errno :: EADDRINUSE)/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/tcphack.rb:12:inから/ usrから/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel.rb:93:in/usr/local/lib/ruby/gems/1.8/からの「新規」 gems / mongrel-1.1.5 / bin /../ lib / mongrel.rb:93:/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/からの「初期化」で。 ./lib/mongrel/configurator.rb:139:inから/usr/local/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rbから `新しい ' :139:リスナーの中

mongrelのソースを見てみると、USR2ハンドラは実行中のサーバ上で同期停止を呼び出すので、ソケットが解放されるまでブロックするべきです。

誰かがこのエラーを見ましたか?

誰かがそれを引き起こす可能性のあるアイデアを持っていますか?

0 Answer