incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Ingalls <paulinga...@gmail.com>
Subject Timeout reading row from CF with collections
Date Fri, 12 Jul 2013 06:17:25 GMT
I'm running into a problem trying to read data from a column family that includes a number
of collections.  

Cluster details:
4 nodes running 1.2.6 on VMs with 4 cpus and 7 Gb of ram.
raid 0 striped across 4 disks for the data and logs
each node has about 500 MB of data currently loaded

Here is the schema:

create table user_scores
(
	user_id varchar,
	post_type varchar,
	score double,
	team_to_score_map map<varchar, double>,
	affiliation_to_score_map map<varchar, double>,
	campaign_to_score_map map<varchar, double>,
	person_to_score_map map<varchar, double>,
	primary key(user_id, post_type)
)
with compaction =
{
  'class' : 'LeveledCompactionStrategy',
  'sstable_size_in_mb' : 10
};

I used the leveled compaction strategy as I thought it would help with read latency…

Here is a trace of a simple select against the cluster when it had nothing else was reading
or writing (cpu was < 2%):

 activity                                                                | timestamp    |
source         | source_elapsed
-------------------------------------------------------------------------+--------------+----------------+----------------
                                                      execute_cql3_query | 05:51:34,557 |
 100.69.176.51 |              0
                                    Message received from /100.69.176.51 | 05:51:34,195 |
100.69.184.134 |            102
                         Executing single-partition query on user_scores | 05:51:34,199 |
100.69.184.134 |           3512
                                            Acquiring sstable references | 05:51:34,199 |
100.69.184.134 |           3741
                                             Merging memtable tombstones | 05:51:34,199 |
100.69.184.134 |           3890
                                             Key cache hit for sstable 5 | 05:51:34,199 |
100.69.184.134 |           4040
                             Seeking to partition beginning in data file | 05:51:34,199 |
100.69.184.134 |           4059
                              Merging data from memtables and 1 sstables | 05:51:34,200 |
100.69.184.134 |           4412
 Parsing select * from user_scores where user_id='26257166' LIMIT 10000; | 05:51:34,558 |
 100.69.176.51 |             91
                                                      Peparing statement | 05:51:34,558 |
 100.69.176.51 |            238
                               Enqueuing data request to /100.69.184.134 | 05:51:34,558 |
 100.69.176.51 |            567
                                      Sending message to /100.69.184.134 | 05:51:34,558 |
 100.69.176.51 |            979
                                                        Request complete | 05:51:54,562 |
 100.69.176.51 |       20005209

You can see that I increased the timeout and it still fails.  This seems to happen with rows
that have maps with a larger number of entries.  It is very reproducible with my current data
set.

Any ideas on why I can't query for a row?

Thanks!

Paul



Mime
View raw message