cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (Commented) (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-4032) memtable.updateLiveRatio() is blocking, causing insane latencies for writes
Date Wed, 11 Apr 2012 14:27:24 GMT


Sylvain Lebresne commented on CASSANDRA-4032:

+1 with two nits:
* In the comment "to a maximum of one per CFS using this map" could have a s/map/set/
* Note sure if there was an intent in changing the maximumPoolSize of the meterExecutor to
Integer.MAX_VALUE. As it stands, with an unbounded queue the maximumPoolSize is ignored so
that doesn't really matter, but just wanted to mention it.
> memtable.updateLiveRatio() is blocking, causing insane latencies for writes
> ---------------------------------------------------------------------------
>                 Key: CASSANDRA-4032
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Peter Schuller
>            Assignee: Peter Schuller
>             Fix For: 1.1.0
>         Attachments: 4032-v3.txt, 4032-v4.txt, CASSANDRA-4032-1.1.0-v1.txt, CASSANDRA-4032-1.1.0-v2.txt
> Reproduce by just starting a fresh cassandra with a heap large enough for live ratio
calculation (which is {{O(n)}}) to be insanely slow, and then running {{./bin/stress -d host
-n100000000 -t10}}. With a large enough heap and default flushing behavior this is bad enough
that stress gets timeouts.
> Example ("blocked for" is my debug log added around submit()):
> {code}
>  INFO [MemoryMeter:1] 2012-03-09 15:07:30,857 (line 198) CFS(Keyspace='Keyspace1',
ColumnFamily='Standard1') liveRatio is 8.89014894083727 (just-counted was 8.89014894083727).
 calculation took 28273ms for 1320245 columns
>  WARN [MutationStage:8] 2012-03-09 15:07:30,857 (line 209) submit() blocked
for: 231135
> {code}
> The calling code was written assuming a RejectedExecutionException is thrown, but it's
not because {{DebuggableThreadPoolExecutor}} installs a blocking rejection handler.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message