cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (CASSANDRA-4506) Block insert request when heap is soon full
Date Tue, 25 Sep 2012 08:27:08 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-4506?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Sylvain Lebresne resolved CASSANDRA-4506.
-----------------------------------------

    Resolution: Duplicate

dupe of CASSANDRA-4510 (due to jira bug)
                
> Block insert request when heap is soon full
> -------------------------------------------
>
>                 Key: CASSANDRA-4506
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4506
>             Project: Cassandra
>          Issue Type: Wish
>          Components: Core
>    Affects Versions: 1.1.3
>         Environment: Debian squeeze 32bit
>            Reporter: Tommy Cheng
>              Labels: heap, memory, 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
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message