Zdenek Ott created CASSANDRA-8904:
-------------------------------------
Summary: Compaction pending tasks is 9 but no compaction is running
Key: CASSANDRA-8904
URL: https://issues.apache.org/jira/browse/CASSANDRA-8904
Project: Cassandra
Issue Type: Bug
Components: Core
Environment: Linux 2.6.32-431.5.1.el6.x86_64 #1 SMP Wed Feb 12
00:41:43 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
[cqlsh 3.1.8 | Cassandra 1.2.18 | CQL spec 3.0.5 | Thrift protocol 19.36.2]
Reporter: Zdenek Ott
Priority: Minor
I have found mismatch of compaction requirement counting in LeveldManifest.java
---
In getCompactionCandidates() method is used following expression:
double score = (double) SSTableReader.getTotalBytes(remaining) /
(double)maxBytesForLevel(i);
And compaction is triggered when score>1.001
In our situation 671758260447/(10^4*64*1024*1024) = 1.00099
---
in getEstimatedTasks() method is used different expression:
estimated[i] = Math.max(0L, SSTableReader.getTotalBytes(sstables) -
maxBytesForLevel(i)) / maxSSTableSizeInBytes
In our situation (671758260447-(10^4*64*1024*1024))/(64*1024*1024) = 9.97812
explicitly converted to long is 9
---
Here is debug log parts and column family create command:
DEBUG [CompactionExecutor:1695] 2015-03-04 10:31:46,173 LeveledManifest.java
(line 384) L0 contains 2 SSTables (24467649 bytes) in Manifest@160946690
DEBUG [CompactionExecutor:1695] 2015-03-04 10:31:46,173 LeveledManifest.java
(line 384) L1 contains 10 SSTables (659509359 bytes) in Manifest@160946690
DEBUG [CompactionExecutor:1695] 2015-03-04 10:31:46,173 LeveledManifest.java
(line 384) L2 contains 105 SSTables (6670197371 bytes) in Manifest@160946690
DEBUG [CompactionExecutor:1695] 2015-03-04 10:31:46,173 LeveledManifest.java
(line 384) L3 contains 1043 SSTables (67139124061 bytes) in Manifest@160946690
DEBUG [CompactionExecutor:1695] 2015-03-04 10:31:46,174 LeveledManifest.java
(line 384) L4 contains 10410 SSTables (671758260447 bytes) in Manifest@160946690
DEBUG [CompactionExecutor:1695] 2015-03-04 10:31:46,174 LeveledManifest.java
(line 384) L5 contains 75 SSTables (5019585316 bytes) in Manifest@160946690
DEBUG [CompactionExecutor:1695] 2015-03-04 10:31:46,191 LeveledManifest.java
(line 346) Compaction score for level 5 is 7.479764991998672E-4
DEBUG [CompactionExecutor:1695] 2015-03-04 10:31:46,196 LeveledManifest.java
(line 346) Compaction score for level 4 is 1.0009978122219443
DEBUG [CompactionExecutor:1695] 2015-03-04 10:31:46,197 LeveledManifest.java
(line 346) Compaction score for level 3 is 1.0004509100466967
DEBUG [CompactionExecutor:1695] 2015-03-04 10:31:46,197 LeveledManifest.java
(line 346) Compaction score for level 2 is 0.9939368622004986
DEBUG [CompactionExecutor:1695] 2015-03-04 10:31:46,197 LeveledManifest.java
(line 346) Compaction score for level 1 is 0.9827455267310142
DEBUG [CompactionExecutor:1695] 2015-03-04 10:31:46,197 LeveledManifest.java
(line 346) Compaction score for level 0 is 0.0883796289563179
DEBUG [RMI TCP Connection(3047)-77.234.40.29] 2015-03-04 10:32:18,093
LeveledManifest.java (line 670) Estimating [0, 0, 0, 0, 9, 0, 0, 0, 0]
compactions to do for fr.sha
CREATE TABLE sha (
"KEY" blob,
column1 blob,
value blob,
PRIMARY KEY ("KEY", column1)
) WITH COMPACT STORAGE AND
bloom_filter_fp_chance=0.100000 AND
caching='NONE' AND
comment='' AND
dclocal_read_repair_chance=0.000000 AND
gc_grace_seconds=172800 AND
read_repair_chance=0.000000 AND
replicate_on_write='true' AND
populate_io_cache_on_flush='false' AND
compaction={'sstable_size_in_mb': '64', 'class': 'LeveledCompactionStrategy'}
AND
compression={};
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)