重みは、manager サイクル中に manager によって設定されます。manager サイクルの開始時に、manager は executor 機能から現在の重みを取得します。manager はこれらの値を、サーバーの状況が変更されたかどうかを判定するための最新の重みとして使用します。
サーバー・ダウン・コマンド (例えば、dscontrol server down) を発行すると、executor 機能 はサーバーの現在の重みを保存し、サーバーへの新規の重みを -1 の値と関連付けます。 サーバー・アップ・コマンド (例えば、dscontrol server up) を発行すると、executor 機能が 呼び出され、サーバーの重みを保存された値に戻します。システムはフラグを設定し、 ユーザーによってサーバーにダウンのマークがもはや付けられていないことを示します。
manager によって重みが取得された後にサーバー・アップ・コマンドが発行されると、executor 機能によって、サーバー状態が変更されたかどうか判定するために使用される重みが上書きされます。サーバーも静止しない限り、このプロセスによる副次作用は起こりません。
静止サーバーは重みが 0 です。この値は、ダウンしていることが advisor によって検出されたときのサーバーと同じ値です。静止サーバーでサーバー・アップ・コマンドを実行する と、executor 機能は、サーバーの状態が変更されたかどうかを判定する重みに 対して 0 の値を保存します。サーバーが静止解除済みのときに、この保存値が原因で serverUp スクリプトが実行される可能性があります。
構成が大きくなるにしたがって manager サイクルの実行時間が長くなるため、この問題に遭遇する機会が増えます。また、サーバー・アップ・コマンドが発行されたとき に、manager サイクルが進行中である可能性がより高くなります。