Greetings. I am experiencing problems using a cassandra DB with phpcassa, but I am unable to understand if the error is on phpcassa client itself or on cassandra… As far as I understand, phpcassa just "pass" it to the thrift layer, and errors I am seeing are coming back from cassandra itself, so I guess it's some sort of cassandra problem (or, more easily, I am doing something wrong but I don't know what). I hope I'm not too far from true.
I am using CQL3 from php pages, and I wrote a class that basically wraps this behaviour: $this->pool=new \phpcassa\Connection\ConnectionPool($keyspace,$servers); […yadda yadda…] $client=$this->pool->get()->client; $result=$client->prepare_cql_query($query,\Cassandra\Compression::NONE); $itemid=$result->itemId; return $client->execute_prepared_cql_query($itemid,$args); This works ALMOST always. Sometimes, hovewere, I get "random" errors on queries that works. When I say "Query that works" it means that on error i dump on screen the value of $query and $args, and this is always a valid query that works, bot on the same page if I simply reload it, and on cqlsh -3, with the very same parameters. Sample errors, and relative queries and CF schemas are: === Executing [SELECT qt FROM cargobays USING CONSISTENCY QUORUM WHERE corporation_id = ? and station_id = ? and item_id = ?] with (edd051f0-44aa-4bc3-ad08-3174abcd1a0d,1110129,10025) error: No indexed columns present in by-columns clause with "equals" operator cqlsh:goh_release> describe columnfamily cargobays CREATE TABLE cargobays ( corporation_id ascii, station_id ascii, item_id ascii, qt ascii, PRIMARY KEY (corporation_id, station_id, item_id) ) WITH COMPACT STORAGE AND comment='' AND caching='KEYS_ONLY' AND read_repair_chance=0.100000 AND gc_grace_seconds=864000 AND min_compaction_threshold=4 AND max_compaction_threshold=32 AND replicate_on_write='true' AND compaction_strategy_class='SizeTieredCompactionStrategy' AND compression_parameters:sstable_compression='SnappyCompressor'; === Executing [UPDATE agents_skill USING CONSISTENCY QUORUM SET value = ? WHERE agent_id = ? and skill = ?] with (3,b716738b-95e6-4e22-9924-5334ee7f2f5d,pilot) error: line 1:78 mismatched input 'and' expecting EOF cqlsh:goh_release> describe columnfamily agents_skill ; CREATE TABLE agents_skill ( agent_id ascii, skill ascii, value ascii, PRIMARY KEY (agent_id, skill) ) WITH COMPACT STORAGE AND comment='' AND caching='KEYS_ONLY' AND read_repair_chance=0.100000 AND gc_grace_seconds=864000 AND min_compaction_threshold=4 AND max_compaction_threshold=32 AND replicate_on_write='true' AND compaction_strategy_class='SizeTieredCompactionStrategy' AND compression_parameters:sstable_compression='SnappyCompressor'; We have a cluster of 3 nodes, and the keyspace is defined as follow: CREATE KEYSPACE v_release WITH strategy_class = 'SimpleStrategy' AND strategy_options:replication_factor = '3'; We're using (packaged) Cassandra 1.1.2 on an Ubuntu LTS 12.04. I really hope it's something that can be sorted out, because we're pretty lost here. Thank you. -- Marco Matarazzo