У меня есть семейство столбцов:
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 секунды, но я вижу, что некоторые сообщения READ сбрасываются в tpstats.Среднее значение SSTable меньше 3. Мои запросы таковы, что я не читаю один и тот же ключ снова в течение некоторого времени, поэтому мой коэффициент попадания в кэш ключа составляет менее 10%.Мой тайм-аут запроса на чтение составляет 200 мс.
Может, кто-нибудь подскажет, как это отладить?