背景
最近では、ときカサンドラ、カサンドラの測定圧力は、プロセスが初期化されていないことがわかりました。調査の後、我々はデッドロックの問題は、この記事では、全体の調査プロセスを確認するために私達につながることがわかった、Javaのデッドロックの問題をトラブルシューティングする方法については、非常にやりがいのある学習体験です。
調査
1.問題の発見
最初の開始後カサンドラコマンドであるnodetool netstats
入力する際に観察NORMAL状態に。以下に示すよう:
長い時間がNORMALに入らなかった後しかし、それはSTARTING状態になっています。
2.jstack調査
STARTING状態になっている理由を知りたい、もちろん、何をすべきかを最終的にプロセスを観察することJstackです。
jstack待ち状態でメインスレッドを表示します。本当に行かなかったSTARTING状態で立ち往生されていますので、これは、我々が観察現象と一致しています。場所はメインスレッドが詰まっていますAbstractCommitLogSegmentManager.awaitAvaila