I am struggling with getting secondary indexes to work. I have created secondary indexes on some fields that are part of the compound primary key but only one of the indexes seems to work (the one set on the field 'e' on the table definition below). Using any other secondary index in a where clause causes the message "Request did not complete within rpc_timeout.". It seems like if a put a value in the where clause that does not exist in a column with secondary index then cassandra quickly return with the result (0 rows) but if a put in a value that do exist I get a timeout. There is no exception in the logs in connection with this. I've tried to increase the timeout to a minute but it does not help.
I am currently running on a single machine with 12 GB RAM and the heap set to 8 GB. The table and indexes occupy 1 GB of disk space. I query the table with cqlsh. The below issue should have fixed something in this area. Is this still a problem or is it something in my environmnet/design that is the problem? https://issues.apache.org/jira/browse/CASSANDRA-5851 /Petter ----TABLE DEFINITION----- CREATE TABLE x.y ( a varchar, b varchar, c varchar, d varchar, e varchar, f varchar, g varchar, h varchar, i int, j varchar, k varchar, l timestamp, m blob, PRIMARY KEY (a, b, c, d, e, f, g, h, i, j, k, l) ); CREATE INDEX d_idx ON x.y ( d ); CREATE INDEX e_idx ON x.y ( e ); CREATE INDEX f_idx ON x.y ( f ); CREATE INDEX g_idx ON x.y ( g ); CREATE INDEX h_idx ON x.y ( h ); CREATE INDEX i_idx ON x.y ( i ); CREATE INDEX j_idx ON x.y ( j ); CREATE INDEX k_idx ON x.y ( k );