我們有一個表,看起來像:卡桑德拉性能問題
CREATE TABLE arc_dynamic.transit_map (
sal text,
pfn text,
transit_map_id text,
create_program_id text,
create_timestamp timestamp,
cutoff_times map<text, text>,
derived_priority int,
effective_date text,
modify_program_id text,
modify_timestamp timestamp,
relationship_type_id text,
solr_query text,
stop set<text>,
transit_days map<text, int>,
trigger_id text,
PRIMARY KEY (sal, pfn, transit_map_id)
) WITH CLUSTERING ORDER BY (pfn ASC, transit_map_id ASC)
AND bloom_filter_fp_chance = 0.01
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.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';
CREATE CUSTOM INDEX arc_dynamic_transit_map_create_timestamp_index ON arc_dynamic.transit_map (create_timestamp) USING 'com.datastax.bdp.search.solr.Cql3SolrSecondaryIndex';
CREATE CUSTOM INDEX arc_dynamic_transit_map_derived_priority_index ON arc_dynamic.transit_map (derived_priority) USING 'com.datastax.bdp.search.solr.Cql3SolrSecondaryIndex';
CREATE CUSTOM INDEX arc_dynamic_transit_map_modify_timestamp_index ON arc_dynamic.transit_map (modify_timestamp) USING 'com.datastax.bdp.search.solr.Cql3SolrSecondaryIndex';
CREATE CUSTOM INDEX arc_dynamic_transit_map_relationship_type_id_index ON arc_dynamic.transit_map (relationship_type_id) USING 'com.datastax.bdp.search.solr.Cql3SolrSecondaryIndex';
CREATE CUSTOM INDEX arc_dynamic_transit_map_solr_query_index ON arc_dynamic.transit_map (solr_query) USING 'com.datastax.bdp.search.solr.Cql3SolrSecondaryIndex';
CREATE CUSTOM INDEX arc_dynamic_transit_map_trigger_id_index ON arc_dynamic.transit_map (trigger_id) USING 'com.datastax.bdp.search.solr.Cql3SolrSecondaryIndex';
當我運行:
select * from transit_map where sal='XXX_953';
超時:
ReadTimeout: code=1200 [Coordinator node timed out waiting for replica nodes'
responses] message="Operation timed out - received only 0 responses." info=
{'received_responses': 0, 'required_responses': 1, 'consistency': 'ONE'}
如果我把它限制在10行或更少,它會回來。任何更多,超時。我試圖找出它出錯的地方(無論是太多的sstables,墓碑還是別的東西),但我無法弄清楚如何解決這個問題。
我已啓用跟蹤。對於10行或更少的行,它不會「看起來太糟糕」(至少它有一些輸出)。
當我放入11行限制或將其留空(無限制)時,沒有輸出從跟蹤返回。
任何幫助去哪裏都不勝感激。我來自Oracle長期以來的背景,並且在如何在Cassandra中弄清楚這一點已經失敗了。
你期望得到那個查詢的行數? – Aaron