You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Anurag Gujral <an...@gmail.com> on 2011/03/29 01:59:40 UTC

design cassandra issue client when moving from version 0.6.* to 0.7.3

Hi All,
         I am currently porting a cassandra c++ client from 0.6.*  to 0.7.3.
The c++ client I had in 0.6.* used to function
conn->client->send_multiget_slice which used to take as parameter cseqid.
The sign of the function in 0.6.* was
void CassandraClient::send_multiget_slice(const std::string& keyspace, const
std::vector<std::string> & keys, const ColumnParent& column_parent, const
SlicePredicate& predicate, const ConsistencyLevel consistency_level, const
int32_t cseqid)


Incase the function send_multiget_slice did not return sucess. The code used
to wait on the socket by calling select and use to read data if the data
was available using recv_multiget_slice provided cseqid passed to
send_multiget_slice was same as that in the call to function
recv_mutlget_slice .

In Cassandra 0.7.3 the function send_multiget_slice and recv_multiget_slice
dont take cseqid as parameter.

How can I accomplish the behaviour of 0.6.* in 0.7.3 version.

Please Suggest
Thanks
Anurag

Re: design cassandra issue client when moving from version 0.6.* to 0.7.3

Posted by aaron morton <aa...@thelastpickle.com>.
There should only be one active request on the socket at a time. Otherwise things could get confused on the server side. 

Also is there a reason you are not calling CassandraClient::multiget_slice ?

Aaron

On 29 Mar 2011, at 10:59, Anurag Gujral wrote:

> Hi All,
>          I am currently porting a cassandra c++ client from 0.6.*  to 0.7.3. The c++ client I had in 0.6.* used to function
> conn->client->send_multiget_slice which used to take as parameter cseqid.
> The sign of the function in 0.6.* was
> void CassandraClient::send_multiget_slice(const std::string& keyspace, const std::vector<std::string> & keys, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel consistency_level, const int32_t cseqid)
> 
> 
> Incase the function send_multiget_slice did not return sucess. The code used to wait on the socket by calling select and use to read data if the data  was available using recv_multiget_slice provided cseqid passed to send_multiget_slice was same as that in the call to function
> recv_mutlget_slice .
> 
> In Cassandra 0.7.3 the function send_multiget_slice and recv_multiget_slice dont take cseqid as parameter.
> 
> How can I accomplish the behaviour of 0.6.* in 0.7.3 version.
> 
> Please Suggest
> Thanks
> Anurag
>