You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tommy Cheng (JIRA)" <ji...@apache.org> on 2012/08/09 10:35:18 UTC

[jira] [Commented] (CASSANDRA-4510) cassandra block request when it is soon OOM

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

Tommy Cheng commented on CASSANDRA-4510:
----------------------------------------

oh my god,
jira shows java.io.IOException: read past EOF and i just re-posting the issue.
Admin please help to delete other issue.
Sorry for the duplicate posts :-(
                
> cassandra block request when it is soon OOM
> -------------------------------------------
>
>                 Key: CASSANDRA-4510
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4510
>             Project: Cassandra
>          Issue Type: New Feature
>    Affects Versions: 1.1.3
>         Environment: Debian squeeze 32bit
>            Reporter: Tommy Cheng
>              Labels: compact, heap, hector, oom
>
> I have 256MB memory Debian to do the stress test (it is easier to find out the problem)
> This is my setting excepts the default
> MAX_HEAP_SIZE="192M"
> HEAP_NEWSIZE="16M"
> commitlog_segment_size_in_mb: 4
> flush_largest_memtables_at: 0.5 (too few memory, flush it earlier...)
> concurrent_reads: 16
> concurrent_writes: 8
> memtable_total_space_in_mb: 64
> commitlog_total_space_in_mb: 4
> memtable_flush_queue_size: 6
> in_memory_compaction_limit_in_mb: 4
> concurrent_compactors: 1
> stream_throughput_outbound_megabits_per_sec: 400
> rpc_timeout_in_ms: 60000
> And this is my schema
> create keyspace PT
> with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy'
> and strategy_options = [{replication_factor:1}];
> use PT;
> create column family cheque
> with comparator = UTF8Type 
> and key_validation_class = UTF8Type
> and default_validation_class = UTF8Type
> and column_metadata = [
> {column_name: acct_no, validation_class: UTF8Type, index_name:cheque_acct_no_idx, index_type:KEYS } {column_name: date, validation_class: UTF8Type, index_name:cheque_date_idx, index_type:KEYS } {column_name: bank, validation_class: UTF8Type, index_name:cheque_bank_idx, index_type:KEYS } {column_name: amount, validation_class: LongType, index_name:cheque_amout_idx, index_type:KEYS } {column_name: receipt, validation_class: UTF8Type, index_name:cheque_receipt_idx, index_type:KEYS }	 {column_name: create_timestamp, validation_class: LongType, index_name:cheque_create_timestamp_idx, index_type:KEYS} {column_name: image, validation_class: BytesType}
> ];
> I tried to insert a 50KB file per record using hector 1.1.0
> I did not set any swap as it is not recommended.
> GC is working and telling me 0.80 heap is used, blahblahblah, the number finally reach 0.99 and of course OOM happens
> So my question is the following
> Can the server block the incoming insert when the heap size used is 0.95, is it feasible?
> I know hector will retry when timeoutexception happens. so it is good to implement blocking features instead of throttling in client problem.
> Sorry for my poor english and i am completely cassandra newbie, so my wish may not valid.
> Thanks!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira