2010年8月6日金曜日

Cassandra0.6.4の問題

■発生時
急激な書込処理を行う。
恐らく性能不足の為に書込処理が間に合わず、大量のassandraのCommitLogが発生。
続いて何らかの理由によりCassandra Cluster停止。再度Cassandra Nodeの起動を試みた所でOOMEが発生。

■原因予測
Source Levelではまだ未確認だが、恐らく起動時にCommitLogを全てMemoryに乗せようとしている?
その為にOOMEが発生している可能性がある。

■対応策
取り敢えずCommitLogのフォルダの中身を別に退避させてから起動を試みると問題なく起動する。
この為、退避したCommitLogを少量ずつ本来のフォルダに起いて再起動を繰り返す事で徐々にCommitLogを適用しつつデータの復旧を行う。

■調査する事
・現在のCassandra Clusterでの許容書込速度
・起動時にCommitLogの一斉読込を回避する方法
・CommitLogをファイル単位で適用する方法

Cassandraは起動時が非常に弱い。何らかの予防策対応策を準備する必要がある。
https://issues.apache.org/jira/browse/CASSANDRA-1014
コメントを投稿