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


Reply via email to