Yes, I've already planning to do so. The class has still some dependencies into our other functions which I need to first clear out.
Basically each api call is wrapped inside a retry loop as we can assume that each operation can be retried as many times as needed: $tries = 0; $this->last_exception = null; $delay = 1000; // start with 1ms retry delay do { try { $this->client->insert($this->keyspace, $key, $column_path, $value, $timestamp, $consistency_level); return; } catch (cassandra_InvalidRequestException $e) { Logger::error("InvalidRequestException: " . $e->why . ', stacktrace: ' . $e->getMessage()); throw $e; } catch (Exception $e) { $this->last_exception = $e; $tries++; // sleep for some time and try again usleep($delay); $delay = $delay * 3; $this->connect(); // Drop current server and reopen a connection into another server } } while ($tries < 4); // Give up and throw the last exception throw $this->last_exception; - Juho Mäkinen On Mon, Aug 30, 2010 at 3:48 PM, Mike Peters <cassan...@softwareprojects.com> wrote: > > Juho, do you mind sharing your implementation with the group? > > We'd love to help as well with rewriting the thrift interface, specificaly > TSocket.php which seems to be where the majority of the problems are > lurking. > > Has anyone tried compiling native thrift support as described here > https://wiki.fourkitchens.com/display/PF/Using+Cassandra+with+PHP > https://wiki.fourkitchens.com/display/PF/Using+Cassandra+with+PHP > -- > View this message in context: > http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Thrift-PHP-help-tp5437314p5478057.html > Sent from the cassandra-u...@incubator.apache.org mailing list archive at > Nabble.com. >