3

我们在 1.2.3/1.2.4(Datastax 社区版)中遇到随机 SSTable 损坏,在具有混合读/写负载的单节点开发机器上使用具有来自多列 POV 的宽行的数据模型。但是,写入比读取更频繁。问题体现在堆栈跟踪中,例如:

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.1 作为 1.2.4 是 1.2 系列迄今为止的最新版本吗?

虽然我们在单节点开发环境中遇到了这些问题,但在由多个节点服务的集群中运行整个东西时,事情可能会得到备份,但我们认为事情也应该在单个节点上运行而不会损坏。

非常感谢任何提示。谢谢。

4

1 回答 1

0

我在生产中使用 cassandra-1.1 有更好的经验。当前版本 1.2.6 仍未通过我们繁重的预生产测试。

于 2013-07-19T14:17:22.087 回答