cassandra读取请求丢弃

bvhaajcl  于 2021-06-15  发布在  Cassandra
关注(0)|答案(0)|浏览(193)

我有一个列族,如下所示:

CREATE TABLE keyspace.tableName (
    key text PRIMARY KEY,
    A blob,
    B text,
    C text,
    D blob,
    "E" text
    H int
) WITH COMPACT STORAGE
    AND bloom_filter_fp_chance = 0.2
    AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
    AND comment = ''
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}
    AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.SnappyCompressor'}
    AND dclocal_read_repair_chance = 0.0
    AND default_time_to_live = 7776000
    AND gc_grace_seconds = 3600
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.1
    AND speculative_retry = '99.0PERCENTILE';

使用查询发出读取请求时:

SELECT A, B, C, D, E, WRITETIME(A), WRITETIME(B) FROM TABLE_NAME WHERE KEY  = ?;

我得到以下例外:

com.datastax.driver.core.exceptions.ReadTimeoutException: Cassandra timeout during read query at consistency LOCAL_ONE (1 responses were required but only 0 replica responded)
    at com.datastax.driver.core.exceptions.ReadTimeoutException.copy(ReadTimeoutException.java:88)

这是一个每天处理数十亿个请求的巨大集群。我只收到不到0.1%的请求。我的第99百分位很好。gc不到1秒,但我确实看到一些已读消息被丢弃在tpstats中。sstable计数的中位数小于3。我的查询在一段时间内不会再次读取同一个密钥,因此我的密钥缓存命中率低于10%。我的读取请求超时是200ms。
有人能给我一些关于如何调试这个的建议吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题