29.4. デッドロックの検出
デッドロックは、複数のプロセスまたはタスクが他のプロセスまたはタスクが相互に必要なリソースを解放するまで待つときに発生します。デッドロックにより、特に複数のトランザクションが 1 つのキーセットに対して動作する場合にシステムのスループットが大幅に短縮されることがあります。
Red Hat JBoss Data Grid は、このようなデッドロックを識別するデッドロック検出を提供します。デッドロック検出は、デフォルトで有効にされます。
29.4.1. デッドロック検出を有効にする
Red Hat JBoss Data Grid でのデッドロック検出はデフォルトで有効にされ、以下のように
cache
設定要素の deadlock-detection-spin
属性を調整して設定できます。
<local-cache [...] deadlock-detection-spin="1000"/>
deadlock-detection-spin
属性は、特定ロックの取得が許可される最大時間 (ミリ秒単位) 内にロックの取得を試行する頻度を定義します。この値はデフォルトで 100
ミリ秒になり、負の値はデッドロック検出を無効にします。
デッドロック検出は個別のキャッシュにのみ適用できます。JBoss Data Grid は複数のキャッシュに適用されたデッドロックを検出できません。