2013-12-30

Struts2: ScopeInterceptor: Deadlock in session lock

もう数年前の話になる。Web アプリケーションの負荷テストをすると稀にエラーになることがあった。リクエストから 30 秒後にエラーになり、ログには「Deadlock in session lock」と出る。この文字列から ScopeInterceptor に辿り着き、コードを読んで不具合と判断、特に使っていなかった ScopeInterceptor を外すことで対処した。

当時は同様の事例が見つからなかったが、最近になって検索すると次が出てきた。

コードを読んだだけで動作は未確認だが、最新版でも直っていないようだ。

確か ScopeInterceptor は初期設定で組み込まれているはずで、負荷テストをやれば普通に当たりそうに思うのだが、何故これまで問題になっていないのか謎。