[ https://issues.apache.org/jira/browse/CASSANDRA-4065?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-4065: -------------------------------------- Reviewer: jbellis Affects Version/s: (was: 1.0.8) 0.8.0 Fix Version/s: 1.1.0 Assignee: Daniel Doubleday > Bogus MemoryMeter liveRatio calculations > ---------------------------------------- > > Key: CASSANDRA-4065 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4065 > Project: Cassandra > Issue Type: Bug > Components: Core > Affects Versions: 0.8.0 > Reporter: Daniel Doubleday > Assignee: Daniel Doubleday > Priority: Minor > Fix For: 1.1.0 > > > I get strange cfs.liveRatios. > A couple of mem meter runs seem to calculate bogus results: > {noformat} > Tue 09:14:48 dd@blnrzh045:~$ grep 'setting live ratio to maximum of 64 > instead of' /var/log/cassandra/system.log > WARN [MemoryMeter:1] 2012-03-20 08:08:07,253 Memtable.java (line 193) > setting live ratio to maximum of 64 instead of Infinity > WARN [MemoryMeter:1] 2012-03-20 08:08:09,160 Memtable.java (line 193) > setting live ratio to maximum of 64 instead of Infinity > WARN [MemoryMeter:1] 2012-03-20 08:08:13,274 Memtable.java (line 193) > setting live ratio to maximum of 64 instead of Infinity > WARN [MemoryMeter:1] 2012-03-20 08:08:22,032 Memtable.java (line 193) > setting live ratio to maximum of 64 instead of Infinity > WARN [MemoryMeter:1] 2012-03-20 08:12:41,057 Memtable.java (line 193) > setting live ratio to maximum of 64 instead of 67.11787351054079 > WARN [MemoryMeter:1] 2012-03-20 08:13:50,877 Memtable.java (line 193) > setting live ratio to maximum of 64 instead of 112.58547951925435 > WARN [MemoryMeter:1] 2012-03-20 08:15:29,021 Memtable.java (line 193) > setting live ratio to maximum of 64 instead of 193.36945063589877 > WARN [MemoryMeter:1] 2012-03-20 08:17:50,716 Memtable.java (line 193) > setting live ratio to maximum of 64 instead of 348.45008340969434 > {noformat} > Because meter runs never decrease liveRatio in Memtable (Which seems strange > to me. If past calcs should be included for any reason wouldn't averaging > make more sense?): > {noformat} > cfs.liveRatio = Math.max(cfs.liveRatio, newRatio); > {noformat} > Memtables are flushed every couple of secs: > {noformat} > ColumnFamilyStore.java (line 712) Enqueuing flush of > Memtable-BlobStore@935814661(1874540/149963200 serialized/live bytes, 202 ops) > {noformat} > Even though a saner liveRatio has been calculated after the bogus runs: > {noformat} > INFO [MemoryMeter:1] 2012-03-20 08:19:55,934 Memtable.java (line 198) > CFS(Keyspace='SmeetBlob', ColumnFamily='BlobStore') > liveRatio is 64.0 (just-counted was 2.97165811895841). calculation took > 124ms for 58 columns > {noformat} -- 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