STATUS_500

Internal Server Error ってやつですね。
これでずっと悩んでました。だがついに、解決しました。撃墜しました。
ロードバランサ的proxyサービスを書いていて、もう既にリリース済みなのだけどたまに起こる500番がナゾでナゾで仕方なかった。最近再びチェックし始めて、リクエストがあってから、500が送出されるまで結構短い時間しかかかってないことがわかり、ようやくつきとめた!今回はCollectionのremoveで起こる ConcurrentModificationException。Servletなどのマルチスレッド環境で呼ばれるメソッドだと、シングルトンなら普通にちゃんと動く流れでも、ちゃんと同期/非同期を意識しないと異なるスレッドから呼ばれていてこの例外が発生しうるってことだ。

コメント

タイトルとURLをコピーしました