I was able to overcome the timeout error by setting
memtable_flush_period_in_ms to 0 for all my tables. Initially it was set to
128.
Now I able to write ~40000 records/min in cassandra and the script has been
running for around 12 hours now.

However, I am still curious that why was cassandra unable to hold data in
the memory for 128 ms considering that I have 30 GB of RAM for each node.

On Wed, Mar 14, 2018 at 2:24 PM, Faraz Mateen <fmat...@an10.io> wrote:

> Thanks for the response.
>
> Here is the output of "DESCRIBE" on my table
>
> https://gist.github.com/farazmateen/1c88f6ae4fb0b9f1619a2a1b28ae58c4
>
> I am getting two errors from the python script that I mentioned above.
> First one does not show any error or exception in server logs. Second error:
>
> *"cassandra.OperationTimedOut: errors={'10.128.1.1': 'Client request
> timeout. See Session.execute[_async](timeout)'}, last_host=10.128.1.1"*
>
> shows JAVA HEAP Exception in server logs. You can look at the exception
> here:
>
> https://gist.githubusercontent.com/farazmateen/e7aa5749f963a
> d2293f8be0ca1ccdc22/raw/e3fd274af32c20eb9f534849a31734dcd337
> 45b4/JVM-HEAP-EXCEPTION.txt
>
> My python code snippet can be viewed at the following link:
> https://gist.github.com/farazmateen/02be8bb59cdb205d6a35e8e3f93e27d5
>
> <https://gist.github.com/farazmateen/02be8bb59cdb205d6a35e8e3f93e27d5>
> H <https://gist.github.com/farazmateen/02be8bb59cdb205d6a35e8e3f93e27d5>ere
> are timeout related arguments from (*/etc/cassandra/cassandra.yaml*)
>
> read_request_timeout_in_ms: 5000
> range_request_timeout_in_ms: 10000
> write_request_timeout_in_ms: 10000
> counter_write_request_timeout_in_ms: 5000
> cas_contention_timeout_in_ms: 1000
> truncate_request_timeout_in_ms: 60000
> request_timeout_in_ms: 10000
> cross_node_timeout: false
>
>
> On Wed, Mar 14, 2018 at 4:22 AM, Bruce Tietjen <
> bruce.tiet...@imatsolutions.com> wrote:
>
>> The following won't address any server performance issues, but will allow
>> your application to continue to run even if there are client or server
>> timeouts:
>>
>>     Your python code should wrap all Cassandra statement execution calls
>> in a try/except block to catch any errors and handle them appropriately.
>>     For timeouts, you might consider re-trying the statement.
>>
>>     You may also want to consider proactively setting your client and/or
>> server timeouts so your application sees fewer failures.
>>
>>
>> Any production code should include proper error handling and during
>> initial development and testing, it may be helpful to allow your
>> application to continue running
>> so you get a better idea of if or when different timeouts occur.
>>
>> see:
>>    cassandra.Timeout
>>    cassandra.WriteTimeout
>>    cassandra.ReadTimeout
>>
>> also:
>>    https://datastax.github.io/python-driver/api/cassandra.html
>>
>>
>>
>>
>>
>> On Tue, Mar 13, 2018 at 5:17 PM, Goutham reddy <
>> goutham.chiru...@gmail.com> wrote:
>>
>>> Faraz,
>>> Can you share your code snippet, how you are trying to save the  entity
>>> objects into cassandra.
>>>
>>> Thanks and Regards,
>>> Goutham Reddy Aenugu.
>>>
>>> Regards
>>> Goutham Reddy
>>>
>>> On Tue, Mar 13, 2018 at 3:42 PM, Faraz Mateen <fmat...@an10.io> wrote:
>>>
>>>> Hi everyone,
>>>>
>>>> I seem to have hit a problem in which writing to cassandra through a
>>>> python script fails and also occasionally causes cassandra node to crash.
>>>> Here are the details of my problem.
>>>>
>>>> I have a python based streaming application that reads data from kafka
>>>> at a high rate and pushes it to cassandra through datastax's cassandra
>>>> driver for python. My cassandra setup consists of 3 nodes and a replication
>>>> factor of 2. Problem is that my python application crashes after writing
>>>> ~12000 records with the following error:
>>>>
>>>> Exception: Error from server: code=1100 [Coordinator node timed out 
>>>> waiting for replica nodes' responses] message="Operation timed out - 
>>>> received only 0 responses." info={'received_responses':
>>>>  0, 'consistency': 'LOCAL_ONE', 'required_responses': 1}
>>>>
>>>> Sometimes the  python application crashes with this traceback:
>>>>
>>>> cassandra.OperationTimedOut: errors={'10.128.1.1': 'Client request 
>>>> timeout. See Session.execute[_async](timeout)'}, last_host=10.128.1.1
>>>>
>>>> With the error above, one of the cassandra node crashes as well. When I
>>>> look at cassandra system logs (/var/log/cassandra/system.log), I see
>>>> the following exception:
>>>>
>>>> https://gist.github.com/farazmateen/e7aa5749f963ad2293f8be0c
>>>> a1ccdc22/e3fd274af32c20eb9f534849a31734dcd33745b4
>>>>
>>>> According to the suggestion in post linked below, I have set my JVM
>>>> Heap size to 8GB but the problem still persists.:
>>>> https://dzone.com/articles/diagnosing-and-fixing-cassandra-timeouts
>>>>
>>>> *Cluster:*
>>>>
>>>>    - Cassandra version 3.9
>>>>    - 3 nodes, with 8 cores and 30GB of RAM each.
>>>>    - Keyspace has a replication factor of 2.
>>>>    - Write consistency is LOCAL_ONE
>>>>    - MAX HEAP SIZE is set to 8GB.
>>>>
>>>> Any help will be greatly appreciated.
>>>>
>>>> --
>>>> Faraz
>>>>
>>>
>>>
>>
>
>
> --
> Faraz Mateen
>



-- 
Faraz Mateen

Reply via email to