[ https://issues.apache.org/jira/browse/CASSANDRA-12244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15656122#comment-15656122 ]
Murukesh Mohanan commented on CASSANDRA-12244: ---------------------------------------------- [~jasonstack] IMHO the ranges don't need to be sorted. You could do something like: {code} for (Range<Token> range : StorageService.instance.getLocalRanges(baseCfs.keyspace.getName())) { rangesTotal++; // Each range whose right boundary (largest value) is less than the lastToken can be considered as seen // by the node. if ((lastToken != null) && lastToken.compareTo(range.right) > 0) rangesCompleted++; } {code} Making a collection and sorting it is a waste when you need to iterate over the ranges only once. > progress in compactionstats is reported wrongly for view builds > --------------------------------------------------------------- > > Key: CASSANDRA-12244 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12244 > Project: Cassandra > Issue Type: Bug > Reporter: Tom van der Woerdt > Assignee: ZhaoYang > Priority: Minor > Labels: lhf > Fix For: 3.0.9 > > > In the view build progress given by compactionstats, there are several issues > : > {code} > id compaction type keyspace > table completed total unit progress > 038d3690-4dbe-11e6-b207-21ec388d48e6 View build mykeyspace > mytable 844 bytes 967 bytes ranges 87.28% > Active compaction remaining time : n/a > {code} > 1) those are ranges, not bytes > 2) it's not at 87.28%, it's at ~4%. the method for calculating progress in > Cassandra is wrong: it neglects to sort the tokens it's iterating through > (ViewBuilder.java) and thus ends up with a random number. -- This message was sent by Atlassian JIRA (v6.3.4#6332)