You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Krishna Chaitanya <bn...@gmail.com> on 2013/11/25 16:42:23 UTC

Multiple writers writing to a cassandra node...

Hello,
   I am a newbie to the Cassandra world. I would like to know if its
possible for two different nodes to write to a single Cassandra node. I
have a packet collector software which runs in two different systems. I
would like both of them to write the packets to a single node(same keyspace
and columnfamily). Currently using Cassandra 2.0.0 with libQtCassandra
library.
                             Currently, I am getting a
IllegalRequestException, what (): Default TException on the first system,
the moment I try to store from the second system, but the second system
works fine. When I restart the program on the first system, the second
system gets the exception and the first one works fine. Occasionally, also
hitting "frame size has negative value" thrift exception when the traffic
is high and packets are getting stored very fast.
  Can someone please point out what I am doing wrong?  Thanks in advance..

Re: Multiple writers writing to a cassandra node...

Posted by Krishna Chaitanya <bn...@gmail.com>.
Fixed the bug. One of the clients was trying to drop a context to which
another client was writing and this was causing the exception.

Thanks.
On Dec 8, 2013 11:31 PM, "Aaron Morton" <aa...@thelastpickle.com> wrote:

> IllegalRequestException does not existing in the server code in version
> 2.0. Is this thrown by the client ?
>
> InvalidRequestException is thrown in a number of places.
>
> Check you are using the client correctly.
>
> cheers
>
> -----------------
> Aaron Morton
> New Zealand
> @aaronmorton
>
> Co-Founder & Principal Consultant
> Apache Cassandra Consulting
> http://www.thelastpickle.com
>
> On 2/12/2013, at 3:33 am, Krishna Chaitanya <bn...@gmail.com>
> wrote:
>
> Hi,
>
> The exception occurs on the clients. The server is fine. FYI, I dont do
> any reads, only writes to cassandra. I re-run the experiment everytime
> after dropping all the created columnfamilies and key spaces.
>
> Thanks...
>
>
> On Sun, Dec 1, 2013 at 4:57 AM, Krishna Chaitanya <bn...@gmail.com>wrote:
>
>> Hi,
>>         Thanks for the reply Aaron... There is no error stack! Just a
>> single exception which says, "terminate called after
>> IllegalRequestException what(): Default TException. When I try to send the
>> same amount of data from a single node to a single cassandra node, it works
>> fine. But, when I split this data and send from multiple nodes to a single
>> node, it results in this exception. I'm trying to run the same
>> program(stores data) from multiple nodes to write to a single cassandra
>> node. What all are the possible reasons for this exception? I don't think
>> its the load, since if I send the same amount of data from a single node,
>> it works fine. Is this correct?
>> I am giving below the cassandra related code of my program. This same
>> program should run on multiple nodes, but its not. I'm feeling I'm doing
>> something fundamentally wrong since I'm aware that it's possible to store
>> to a single cassandra node from multiple sources without using any
>> locks(Locking isn't required right?). Here is the cassandra related code...
>>
>>   char mycassa_host[20];
>>   int mycassa_port(9160);
>>   const char *password("");
>>   const char *table_name("ovs_netflow_table");
>>   const char *context("ntopng_data");
>>   QtCassandra::QCassandra mycassa;
>>   int j;
>>   char str[1500];
>>
>>
>>   //prompt user to enter the ip of the cassandra node...
>>   qDebug()<< "Please enter the ip of the cassandra host: \n" ;
>>   fscanf(stdin,"%s", mycassa_host);
>>              qDebug() << "using host:port:: "<<mycassa_host << "and
>> port:9160\n" ;
>>
>>    if(!mycassa.connect(mycassa_host,mycassa_port,password))
>> //connecting to the cassandra cluster...
>>    {
>>         qDebug()<<"\nSorry couldnt connect to the db\n";
>>         exit(1);
>>    }
>>
>>     qDebug() << "Working on Cassandra Cluster Named" <<
>> mycassa.clusterName();
>>     qDebug() << "Working on Cassandra Protocol Version" <<
>> mycassa.protocolVersion();
>>
>>     QSharedPointer<QtCassandra::QCassandraContext>
>> thiscontext(mycassa.context(context));
>>
>>     try{
>>            thiscontext->drop();
>>            mycassa.synchronizeSchemaVersions();
>>
>>       }
>>    catch(...){
>>    //ignore errors...this happens if the context doesn't exist yet...
>>    }
>>
>>    thiscontext->setStrategyClass("SimpleStrategy");
>>    thiscontext->setReplicationFactor(1);
>>
>>     QSharedPointer<QtCassandra::QCassandraTable>
>> tableptr(thiscontext->table(table_name));
>>
>>     tableptr->setColumnType("Standard");
>>    tableptr->setComment("This is a store for netflows sent by OVS");
>>    tableptr->setKeyValidationClass("BytesType");
>>     tableptr->setDefaultValidationClass("BytesType");
>>     tableptr->setComparatorType("BytesType");
>>     tableptr->setKeyCacheSavePeriodInSeconds(14400);
>>     tableptr->setMemtableFlushAfterMins(60);
>>     tableptr->setGcGraceSeconds(3600); // 1h.
>>     tableptr->setMinCompactionThreshold(4);
>>     tableptr->setMaxCompactionThreshold(22);
>>     tableptr->setReplicateOnWrite(1);
>>
>>   thiscontext->create();
>>       mycassa.synchronizeSchemaVersions();
>>
>>   while(1)
>>   {
>>           //code for reading and storing a netflow packet from memory to
>> a QByteArray bin;
>>
>>          QtCassandra::QCassandraValue value(bin);
>> QByteArray rowkey;
>> rowkey.append((char)(i));
>> mycassa["ntopng_data"]["ovs_netflow_table"][rowkey]["col"]= value;
>>
>> }
>>
>>
>> Note that this same code runs in multiple systems. Could this be a
>> problem?
>>
>>
>> Thanks...
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Thu, Nov 28, 2013 at 4:25 PM, Aaron Morton <aa...@thelastpickle.com>wrote:
>>
>>>    I am a newbie to the Cassandra world. I would like to know if its
>>> possible for two different nodes to write to a single Cassandra node
>>>
>>> Yes.
>>>
>>>  Currently, I am getting a IllegalRequestException, what (): Default
>>> TException on the first system,
>>>
>>> What is the full error stack ?
>>>
>>>
>>> Occasionally, also hitting "frame size has negative value" thrift
>>> exception when the traffic is high and packets are getting stored very fast.
>>>
>>> On the client or the server ? Can you post the full error stack ?
>>>
>>> Currently using Cassandra 2.0.0 with libQtCassandra library.
>>>
>>> Please upgrade to 2.0.3.
>>>
>>> Cheers
>>>
>>>  -----------------
>>> Aaron Morton
>>> New Zealand
>>> @aaronmorton
>>>
>>> Co-Founder & Principal Consultant
>>> Apache Cassandra Consulting
>>> http://www.thelastpickle.com
>>>
>>> On 26/11/2013, at 4:42 am, Krishna Chaitanya <bn...@gmail.com>
>>> wrote:
>>>
>>> Hello,
>>>    I am a newbie to the Cassandra world. I would like to know if its
>>> possible for two different nodes to write to a single Cassandra node. I
>>> have a packet collector software which runs in two different systems. I
>>> would like both of them to write the packets to a single node(same keyspace
>>> and columnfamily). Currently using Cassandra 2.0.0 with libQtCassandra
>>> library.
>>>                              Currently, I am getting a
>>> IllegalRequestException, what (): Default TException on the first system,
>>> the moment I try to store from the second system, but the second system
>>> works fine. When I restart the program on the first system, the second
>>> system gets the exception and the first one works fine. Occasionally, also
>>> hitting "frame size has negative value" thrift exception when the traffic
>>> is high and packets are getting stored very fast.
>>>   Can someone please point out what I am doing wrong?  Thanks in
>>> advance..
>>>
>>>
>>>
>>
>>
>> --
>> Regards,
>> BNSK
>> *. *
>>
>
>
>
> --
> Regards,
> BNSK
> *. *
>
>
>

Re: Multiple writers writing to a cassandra node...

Posted by Aaron Morton <aa...@thelastpickle.com>.
IllegalRequestException does not existing in the server code in version 2.0. Is this thrown by the client ?

InvalidRequestException is thrown in a number of places. 

Check you are using the client correctly. 

cheers

-----------------
Aaron Morton
New Zealand
@aaronmorton

Co-Founder & Principal Consultant
Apache Cassandra Consulting
http://www.thelastpickle.com

On 2/12/2013, at 3:33 am, Krishna Chaitanya <bn...@gmail.com> wrote:

> Hi,
> 
> The exception occurs on the clients. The server is fine. FYI, I dont do any reads, only writes to cassandra. I re-run the experiment everytime after dropping all the created columnfamilies and key spaces. 
> 
> Thanks...
> 
> 
> On Sun, Dec 1, 2013 at 4:57 AM, Krishna Chaitanya <bn...@gmail.com> wrote:
> Hi,
>         Thanks for the reply Aaron... There is no error stack! Just a single exception which says, "terminate called after IllegalRequestException what(): Default TException. When I try to send the same amount of data from a single node to a single cassandra node, it works fine. But, when I split this data and send from multiple nodes to a single node, it results in this exception. I'm trying to run the same program(stores data) from multiple nodes to write to a single cassandra node. What all are the possible reasons for this exception? I don't think its the load, since if I send the same amount of data from a single node, it works fine. Is this correct?
> I am giving below the cassandra related code of my program. This same program should run on multiple nodes, but its not. I'm feeling I'm doing something fundamentally wrong since I'm aware that it's possible to store to a single cassandra node from multiple sources without using any locks(Locking isn't required right?). Here is the cassandra related code...
> 
>   char mycassa_host[20];
>   int mycassa_port(9160);
>   const char *password("");
>   const char *table_name("ovs_netflow_table");
>   const char *context("ntopng_data"); 
>   QtCassandra::QCassandra mycassa;
>   int j;
>   char str[1500];
>  
>   
>   //prompt user to enter the ip of the cassandra node...
>   qDebug()<< "Please enter the ip of the cassandra host: \n" ;
>   fscanf(stdin,"%s", mycassa_host);
>              qDebug() << "using host:port:: "<<mycassa_host << "and port:9160\n" ;
> 
>    if(!mycassa.connect(mycassa_host,mycassa_port,password))   //connecting to the cassandra cluster...
>    {
>         qDebug()<<"\nSorry couldnt connect to the db\n";
>         exit(1);
>    }
>  
>     qDebug() << "Working on Cassandra Cluster Named" << mycassa.clusterName();
>     qDebug() << "Working on Cassandra Protocol Version" << mycassa.protocolVersion();
>     
>     QSharedPointer<QtCassandra::QCassandraContext> thiscontext(mycassa.context(context));  
> 
>     try{
>            thiscontext->drop();        
>            mycassa.synchronizeSchemaVersions();   
> 
>       } 
>    catch(...){
>    //ignore errors...this happens if the context doesn't exist yet...
>    }
> 
>    thiscontext->setStrategyClass("SimpleStrategy");
>    thiscontext->setReplicationFactor(1);
> 
>     QSharedPointer<QtCassandra::QCassandraTable> tableptr(thiscontext->table(table_name));  
> 
>     tableptr->setColumnType("Standard");
>    tableptr->setComment("This is a store for netflows sent by OVS");
>    tableptr->setKeyValidationClass("BytesType");
>     tableptr->setDefaultValidationClass("BytesType");
>     tableptr->setComparatorType("BytesType");
>     tableptr->setKeyCacheSavePeriodInSeconds(14400);
>     tableptr->setMemtableFlushAfterMins(60);
>     tableptr->setGcGraceSeconds(3600); // 1h.
>     tableptr->setMinCompactionThreshold(4);
>     tableptr->setMaxCompactionThreshold(22);
>     tableptr->setReplicateOnWrite(1);
> 
>   thiscontext->create();
>       mycassa.synchronizeSchemaVersions(); 
> 
>   while(1)
>   {
>           //code for reading and storing a netflow packet from memory to a QByteArray bin;
>     
>          QtCassandra::QCassandraValue value(bin);
> QByteArray rowkey;
> rowkey.append((char)(i));
> mycassa["ntopng_data"]["ovs_netflow_table"][rowkey]["col"]= value;
> 
> }
> 
>   
> Note that this same code runs in multiple systems. Could this be a problem? 
> 
> 
> Thanks...
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> On Thu, Nov 28, 2013 at 4:25 PM, Aaron Morton <aa...@thelastpickle.com> wrote:
>>    I am a newbie to the Cassandra world. I would like to know if its possible for two different nodes to write to a single Cassandra node
>> 
> 
> Yes. 
> 
>>  Currently, I am getting a IllegalRequestException, what (): Default TException on the first system, 
>> 
>> 
> What is the full error stack ? 
> 
> 
>> Occasionally, also hitting "frame size has negative value" thrift exception when the traffic is high and packets are getting stored very fast.
>> 
>> 
> On the client or the server ? Can you post the full error stack ? 
> 
>> Currently using Cassandra 2.0.0 with libQtCassandra library.
>> 
>> 
> Please upgrade to 2.0.3. 
> 
> Cheers
> 
> -----------------
> Aaron Morton
> New Zealand
> @aaronmorton
> 
> Co-Founder & Principal Consultant
> Apache Cassandra Consulting
> http://www.thelastpickle.com
> 
> On 26/11/2013, at 4:42 am, Krishna Chaitanya <bn...@gmail.com> wrote:
> 
>> Hello,
>>    I am a newbie to the Cassandra world. I would like to know if its possible for two different nodes to write to a single Cassandra node. I have a packet collector software which runs in two different systems. I would like both of them to write the packets to a single node(same keyspace and columnfamily). Currently using Cassandra 2.0.0 with libQtCassandra library.
>>                              Currently, I am getting a IllegalRequestException, what (): Default TException on the first system,  the moment I try to store from the second system, but the second system works fine. When I restart the program on the first system, the second system gets the exception and the first one works fine. Occasionally, also hitting "frame size has negative value" thrift exception when the traffic is high and packets are getting stored very fast.
>>   Can someone please point out what I am doing wrong?  Thanks in advance..
>> 
> 
> 
> 
> 
> -- 
> Regards,
> BNSK.
> 
> 
> 
> -- 
> Regards,
> BNSK.


Re: Multiple writers writing to a cassandra node...

Posted by Krishna Chaitanya <bn...@gmail.com>.
Hi,

The exception occurs on the clients. The server is fine. FYI, I dont do any
reads, only writes to cassandra. I re-run the experiment everytime after
dropping all the created columnfamilies and key spaces.

Thanks...


On Sun, Dec 1, 2013 at 4:57 AM, Krishna Chaitanya <bn...@gmail.com>wrote:

> Hi,
>         Thanks for the reply Aaron... There is no error stack! Just a
> single exception which says, "terminate called after
> IllegalRequestException what(): Default TException. When I try to send the
> same amount of data from a single node to a single cassandra node, it works
> fine. But, when I split this data and send from multiple nodes to a single
> node, it results in this exception. I'm trying to run the same
> program(stores data) from multiple nodes to write to a single cassandra
> node. What all are the possible reasons for this exception? I don't think
> its the load, since if I send the same amount of data from a single node,
> it works fine. Is this correct?
> I am giving below the cassandra related code of my program. This same
> program should run on multiple nodes, but its not. I'm feeling I'm doing
> something fundamentally wrong since I'm aware that it's possible to store
> to a single cassandra node from multiple sources without using any
> locks(Locking isn't required right?). Here is the cassandra related code...
>
>   char mycassa_host[20];
>   int mycassa_port(9160);
>   const char *password("");
>   const char *table_name("ovs_netflow_table");
>   const char *context("ntopng_data");
>   QtCassandra::QCassandra mycassa;
>   int j;
>   char str[1500];
>
>
>   //prompt user to enter the ip of the cassandra node...
>   qDebug()<< "Please enter the ip of the cassandra host: \n" ;
>   fscanf(stdin,"%s", mycassa_host);
>              qDebug() << "using host:port:: "<<mycassa_host << "and
> port:9160\n" ;
>
>    if(!mycassa.connect(mycassa_host,mycassa_port,password))   //connecting
> to the cassandra cluster...
>    {
>         qDebug()<<"\nSorry couldnt connect to the db\n";
>         exit(1);
>    }
>
>     qDebug() << "Working on Cassandra Cluster Named" <<
> mycassa.clusterName();
>     qDebug() << "Working on Cassandra Protocol Version" <<
> mycassa.protocolVersion();
>
>     QSharedPointer<QtCassandra::QCassandraContext>
> thiscontext(mycassa.context(context));
>
>     try{
>            thiscontext->drop();
>            mycassa.synchronizeSchemaVersions();
>
>       }
>    catch(...){
>    //ignore errors...this happens if the context doesn't exist yet...
>    }
>
>    thiscontext->setStrategyClass("SimpleStrategy");
>    thiscontext->setReplicationFactor(1);
>
>     QSharedPointer<QtCassandra::QCassandraTable>
> tableptr(thiscontext->table(table_name));
>
>     tableptr->setColumnType("Standard");
>    tableptr->setComment("This is a store for netflows sent by OVS");
>    tableptr->setKeyValidationClass("BytesType");
>     tableptr->setDefaultValidationClass("BytesType");
>     tableptr->setComparatorType("BytesType");
>     tableptr->setKeyCacheSavePeriodInSeconds(14400);
>     tableptr->setMemtableFlushAfterMins(60);
>     tableptr->setGcGraceSeconds(3600); // 1h.
>     tableptr->setMinCompactionThreshold(4);
>     tableptr->setMaxCompactionThreshold(22);
>     tableptr->setReplicateOnWrite(1);
>
>   thiscontext->create();
>       mycassa.synchronizeSchemaVersions();
>
>   while(1)
>   {
>           //code for reading and storing a netflow packet from memory to a
> QByteArray bin;
>
>          QtCassandra::QCassandraValue value(bin);
> QByteArray rowkey;
> rowkey.append((char)(i));
> mycassa["ntopng_data"]["ovs_netflow_table"][rowkey]["col"]= value;
>
> }
>
>
> Note that this same code runs in multiple systems. Could this be a
> problem?
>
>
> Thanks...
>
>
>
>
>
>
>
>
>
>
>
>
>
> On Thu, Nov 28, 2013 at 4:25 PM, Aaron Morton <aa...@thelastpickle.com>wrote:
>
>>    I am a newbie to the Cassandra world. I would like to know if its
>> possible for two different nodes to write to a single Cassandra node
>>
>> Yes.
>>
>>  Currently, I am getting a IllegalRequestException, what (): Default
>> TException on the first system,
>>
>> What is the full error stack ?
>>
>>
>> Occasionally, also hitting "frame size has negative value" thrift
>> exception when the traffic is high and packets are getting stored very fast.
>>
>> On the client or the server ? Can you post the full error stack ?
>>
>> Currently using Cassandra 2.0.0 with libQtCassandra library.
>>
>> Please upgrade to 2.0.3.
>>
>> Cheers
>>
>>  -----------------
>> Aaron Morton
>> New Zealand
>> @aaronmorton
>>
>> Co-Founder & Principal Consultant
>> Apache Cassandra Consulting
>> http://www.thelastpickle.com
>>
>> On 26/11/2013, at 4:42 am, Krishna Chaitanya <bn...@gmail.com>
>> wrote:
>>
>> Hello,
>>    I am a newbie to the Cassandra world. I would like to know if its
>> possible for two different nodes to write to a single Cassandra node. I
>> have a packet collector software which runs in two different systems. I
>> would like both of them to write the packets to a single node(same keyspace
>> and columnfamily). Currently using Cassandra 2.0.0 with libQtCassandra
>> library.
>>                              Currently, I am getting a
>> IllegalRequestException, what (): Default TException on the first system,
>> the moment I try to store from the second system, but the second system
>> works fine. When I restart the program on the first system, the second
>> system gets the exception and the first one works fine. Occasionally, also
>> hitting "frame size has negative value" thrift exception when the traffic
>> is high and packets are getting stored very fast.
>>   Can someone please point out what I am doing wrong?  Thanks in advance..
>>
>>
>>
>
>
> --
> Regards,
> BNSK
> *. *
>



-- 
Regards,
BNSK
*. *

Re: Multiple writers writing to a cassandra node...

Posted by Krishna Chaitanya <bn...@gmail.com>.
Hi,
        Thanks for the reply Aaron... There is no error stack! Just a
single exception which says, "terminate called after
IllegalRequestException what(): Default TException. When I try to send the
same amount of data from a single node to a single cassandra node, it works
fine. But, when I split this data and send from multiple nodes to a single
node, it results in this exception. I'm trying to run the same
program(stores data) from multiple nodes to write to a single cassandra
node. What all are the possible reasons for this exception? I don't think
its the load, since if I send the same amount of data from a single node,
it works fine. Is this correct?
I am giving below the cassandra related code of my program. This same
program should run on multiple nodes, but its not. I'm feeling I'm doing
something fundamentally wrong since I'm aware that it's possible to store
to a single cassandra node from multiple sources without using any
locks(Locking isn't required right?). Here is the cassandra related code...

  char mycassa_host[20];
  int mycassa_port(9160);
  const char *password("");
  const char *table_name("ovs_netflow_table");
  const char *context("ntopng_data");
  QtCassandra::QCassandra mycassa;
  int j;
  char str[1500];


  //prompt user to enter the ip of the cassandra node...
  qDebug()<< "Please enter the ip of the cassandra host: \n" ;
  fscanf(stdin,"%s", mycassa_host);
             qDebug() << "using host:port:: "<<mycassa_host << "and
port:9160\n" ;

   if(!mycassa.connect(mycassa_host,mycassa_port,password))   //connecting
to the cassandra cluster...
   {
        qDebug()<<"\nSorry couldnt connect to the db\n";
        exit(1);
   }

    qDebug() << "Working on Cassandra Cluster Named" <<
mycassa.clusterName();
    qDebug() << "Working on Cassandra Protocol Version" <<
mycassa.protocolVersion();

    QSharedPointer<QtCassandra::QCassandraContext>
thiscontext(mycassa.context(context));

    try{
           thiscontext->drop();
           mycassa.synchronizeSchemaVersions();

      }
   catch(...){
   //ignore errors...this happens if the context doesn't exist yet...
   }

   thiscontext->setStrategyClass("SimpleStrategy");
   thiscontext->setReplicationFactor(1);

    QSharedPointer<QtCassandra::QCassandraTable>
tableptr(thiscontext->table(table_name));

    tableptr->setColumnType("Standard");
   tableptr->setComment("This is a store for netflows sent by OVS");
   tableptr->setKeyValidationClass("BytesType");
    tableptr->setDefaultValidationClass("BytesType");
    tableptr->setComparatorType("BytesType");
    tableptr->setKeyCacheSavePeriodInSeconds(14400);
    tableptr->setMemtableFlushAfterMins(60);
    tableptr->setGcGraceSeconds(3600); // 1h.
    tableptr->setMinCompactionThreshold(4);
    tableptr->setMaxCompactionThreshold(22);
    tableptr->setReplicateOnWrite(1);

  thiscontext->create();
      mycassa.synchronizeSchemaVersions();

  while(1)
  {
          //code for reading and storing a netflow packet from memory to a
QByteArray bin;

         QtCassandra::QCassandraValue value(bin);
QByteArray rowkey;
rowkey.append((char)(i));
mycassa["ntopng_data"]["ovs_netflow_table"][rowkey]["col"]= value;

}


Note that this same code runs in multiple systems. Could this be a problem?


Thanks...













On Thu, Nov 28, 2013 at 4:25 PM, Aaron Morton <aa...@thelastpickle.com>wrote:

>    I am a newbie to the Cassandra world. I would like to know if its
> possible for two different nodes to write to a single Cassandra node
>
> Yes.
>
>  Currently, I am getting a IllegalRequestException, what (): Default
> TException on the first system,
>
> What is the full error stack ?
>
>
> Occasionally, also hitting "frame size has negative value" thrift
> exception when the traffic is high and packets are getting stored very fast.
>
> On the client or the server ? Can you post the full error stack ?
>
> Currently using Cassandra 2.0.0 with libQtCassandra library.
>
> Please upgrade to 2.0.3.
>
> Cheers
>
> -----------------
> Aaron Morton
> New Zealand
> @aaronmorton
>
> Co-Founder & Principal Consultant
> Apache Cassandra Consulting
> http://www.thelastpickle.com
>
> On 26/11/2013, at 4:42 am, Krishna Chaitanya <bn...@gmail.com>
> wrote:
>
> Hello,
>    I am a newbie to the Cassandra world. I would like to know if its
> possible for two different nodes to write to a single Cassandra node. I
> have a packet collector software which runs in two different systems. I
> would like both of them to write the packets to a single node(same keyspace
> and columnfamily). Currently using Cassandra 2.0.0 with libQtCassandra
> library.
>                              Currently, I am getting a
> IllegalRequestException, what (): Default TException on the first system,
> the moment I try to store from the second system, but the second system
> works fine. When I restart the program on the first system, the second
> system gets the exception and the first one works fine. Occasionally, also
> hitting "frame size has negative value" thrift exception when the traffic
> is high and packets are getting stored very fast.
>   Can someone please point out what I am doing wrong?  Thanks in advance..
>
>
>


-- 
Regards,
BNSK
*.*

Re: Multiple writers writing to a cassandra node...

Posted by Aaron Morton <aa...@thelastpickle.com>.
>    I am a newbie to the Cassandra world. I would like to know if its possible for two different nodes to write to a single Cassandra node
> 
Yes. 

>  Currently, I am getting a IllegalRequestException, what (): Default TException on the first system, 
> 
> 
What is the full error stack ? 


> Occasionally, also hitting "frame size has negative value" thrift exception when the traffic is high and packets are getting stored very fast.
> 
> 
On the client or the server ? Can you post the full error stack ? 

> Currently using Cassandra 2.0.0 with libQtCassandra library.
> 
> 
Please upgrade to 2.0.3. 

Cheers

-----------------
Aaron Morton
New Zealand
@aaronmorton

Co-Founder & Principal Consultant
Apache Cassandra Consulting
http://www.thelastpickle.com

On 26/11/2013, at 4:42 am, Krishna Chaitanya <bn...@gmail.com> wrote:

> Hello,
>    I am a newbie to the Cassandra world. I would like to know if its possible for two different nodes to write to a single Cassandra node. I have a packet collector software which runs in two different systems. I would like both of them to write the packets to a single node(same keyspace and columnfamily). Currently using Cassandra 2.0.0 with libQtCassandra library.
>                              Currently, I am getting a IllegalRequestException, what (): Default TException on the first system,  the moment I try to store from the second system, but the second system works fine. When I restart the program on the first system, the second system gets the exception and the first one works fine. Occasionally, also hitting "frame size has negative value" thrift exception when the traffic is high and packets are getting stored very fast.
>   Can someone please point out what I am doing wrong?  Thanks in advance..
>