クラスタマネージャで Disconnected sessions terminate に Immediately を設定しているにも関わらず, Connected Clients = 0 の状態でセッションが残る.
技術ノート
2013/07/28
[番号]
技術ノート KGTN 2010091607
[現象]
クラスタマネージャで Disconnected sessions terminate に Immediately を設定しているにも関わらず, Connected Clients = 0 の状態でセッションが残る.
[説明]
弊社の試験環境で一度だけ,この現象が発生しました.再現性がなく現時点では原因等が不明ですが,万一この現象が発生した場合はDisconnected sessions terminate に After 1 minutes を設定することで,セッションが約1分で切断されるようになります.
補足1
クライアントのLANケーブルを抜いた状況で発生することが分かり, SessionTimeoutBrokenConnection というレジストリの値 (予期せぬコネクション断が発生した時,この値の時間だけセッションが維持される) がImmediately が設定されている時に限り作用し,セッションが維持されていました.従って,以下のように0を設定することで,1〜3分以内にセッションが切断されるようになります (注:より正確に言えば,1〜3分以内とはWindowsのTCP/IPが切断を認識するまでの時間を指します.GGの処理については,TCP/IPが切断を認識した直後にセッションを直ちに終了させます).
HKLM¥SOFTWARE¥GraphOn¥Bridges¥1.0.0¥AppServer
SessionTimeoutBrokenConnection REG_DWORD 0
補足2
GGサーバがGGH4.Xの場合は, 「補足1のレジストリではなく」 下記の設定ファイルの項目の値を変更して下さい.
[設定ファイルのパス]
C:¥ProgramData¥GraphOn¥HostProperties.xml
[変更する項目]
<property id="SessionTimeoutBrokenConnection" group="Miscellaneous" type="UINT32">
<value>0</value>
</property>