cassandra - 查询一个表超时...总是

时间:2014-08-13 09:30:38

标签: cassandra

使用apache cassandra 2.1 rc4 ...使用datastax c#driver + entity context nuget包自动创建模式。它创建了相关的表,一切看起来都可以通过cqlsh>描述。在开发中心,模式显示正常。但是:

  • 有8张桌子。除了一个以外,所有人都表现正常。
  • 一个表超时插入和选择。描述工作正常。

那里几乎没有任何数据 - 大约100行。对于有问题的表格,

SELECT * FROM tbl;

超时。

SELECT * FROM tbl where pk1='foo' and pk2='bar'

立即返回0行。表中似乎没有任何数据(有意义......所有插入都失败了)。

将密钥空间的复制因子从一个增加到三个(4个节点群集,所有节点都运行正常)。在密钥空间上运行完整修复(再次......几乎没有任何数据)。似乎永远在走。

有什么想法吗?

更新: 我将键空间的复制因子提高到3,运行完全修复(似乎无穷无尽),然后在所有节点上运行滚动重启(在完全修复过程中触发滚动重启)。这似乎已经解决了。有些事情必定陷入困境或某些事情。这是描述输出:

CREATE TABLE vigil."tallyOrderScores" (
context text,
"orderRef" text,
"ruleId" int,
"ruleText" text,
score int,
PRIMARY KEY ((context, "orderRef"), "ruleId")
) WITH CLUSTERING ORDER BY ("ruleId" ASC)
    AND bloom_filter_fp_chance = 0.01
    AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
    AND comment = ''
    AND compaction = {'min_threshold': '4', 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32'}
    AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND dclocal_read_repair_chance = 0.1
    AND default_time_to_live = 0
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.0
    AND speculative_retry = '99.0PERCENTILE';

1 个答案:

答案 0 :(得分:0)

你以前经营过一个较老的Cassandra吗?在这种情况下,您可能需要运行nodetool upgradesstables:http://docs.datastax.com/en/cassandra/2.1/cassandra/tools/toolsUpgradeSstables.html