3

単一ノードの開発マシンで 1.2.3/1.2.4 (Datastax Community Edition) を使用すると、複数の列 POV から幅の広い行を含むデータ モデルを使用して、読み取り/書き込み負荷が混在している場合に、ランダムな SSTable の破損が発生します。ただし、書き込みは読み取りよりも頻繁です。問題は、次のようなスタック トレースで明らかになります。

ERROR [ReadStage:13899] 2013-04-24 07:09:00,770 CassandraDaemon.java (line 132) Exception in thread Thread[ReadStage:13899,5,main]
java.lang.RuntimeException: org.apache.cassandra.io.sstable.CorruptSSTableException: java.io.EOFException
at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1582)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.cassandra.io.sstable.CorruptSSTableException: java.io.EOFException
at org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:106)
... many more
Caused by: java.io.EOFException
at java.io.RandomAccessFile.readFully(Unknown Source)
... many more

また

java.lang.RuntimeException: org.apache.cassandra.io.sstable.CorruptSSTableException: org.apache.cassandra.db.ColumnSerializer$CorruptColumnException: invalid column name length 0

残念ながら、再現可能なテスト ケースはまだありません。これは、ランダムに (数日後などに) 発生し、すぐには発生しないためです。

この/他のフォーラムで、1.2 に関する同様の問題についても調査しました。

質問は次のとおりです: Cassandra 1.2 を本番環境でどのように使用したか、または 1.2 シリーズの最新リリースである 1.2.4 を 1.1 にすることをお勧めしますか?

これらの問題は単一ノードの開発環境で発生しますが、複数のノードでサービスを提供するクラスターですべてのものを実行するとバックアップされる可能性がありますが、私たちの意見では、破損することなく単一ノードで実行する必要があります。

どんなヒントでも大歓迎です。ありがとう。

4

1 に答える 1

0

私は本番環境で cassandra-1.1 の使用経験が豊富です。現在のバージョン 1.2.6 は、まだ厳しい本番前テストに合格していません。

于 2013-07-19T14:17:22.087 に答える