我们有一个表,看起来像:卡桑德拉性能问题
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