You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Vijay (JIRA)" <ji...@apache.org> on 2012/08/27 05:37:07 UTC

[jira] [Comment Edited] (CASSANDRA-4573) HSHA doesn't handle large messages gracefully

    [ https://issues.apache.org/jira/browse/CASSANDRA-4573?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13442248#comment-13442248 ] 

Vijay edited comment on CASSANDRA-4573 at 8/27/12 2:35 PM:
-----------------------------------------------------------

Hi Tyler, I think the issue is related to GC pause can you conform you see the same?

Run: tail -f /var/log/cassandra/system.log |grep GCInspector
Enable GC logging.
Run: python repro.py

You would see timeout when you see "threads were stopped:" to be > 1.5 Seconds or so.
                
      was (Author: vijay2win@yahoo.com):
    Hi Tyler, I think the issue is related to GC pause can you conform you see the same?

Run: tail -f /var/log/cassandra/system.log |grep GCInspector
Enable GC logging.
Run: python repro.py

You would see timeout when you see "threads were stopped:" to be > 1.5 Seconds or so.
HSHA copies the data into memory (Frame buffer) that might cause additional GC pressure, if we are used of having a small heap. 
We can try reducing the buffer size in the yaml too.

                  
> HSHA doesn't handle large messages gracefully
> ---------------------------------------------
>
>                 Key: CASSANDRA-4573
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4573
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Vijay
>         Attachments: repro.py
>
>
> HSHA doesn't seem to enforce any kind of max message length, and when messages are too large, it doesn't fail gracefully.
> With debug logs enabled, you'll see this:
> {{DEBUG 13:13:31,805 Unexpected state 16}}
> Which seems to mean that there's a SelectionKey that's valid, but isn't ready for reading, writing, or accepting.
> Client-side, you'll get this thrift error (while trying to read a frame as part of {{recv_batch_mutate}}):
> {{TTransportException: TSocket read 0 bytes}}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira