You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Dave Brosius (JIRA)" <ji...@apache.org> on 2014/05/07 09:47:23 UTC

[jira] [Created] (CASSANDRA-7183) BackgroundActivityMonitor.readAndCompute only returns half of the values

Dave Brosius created CASSANDRA-7183:
---------------------------------------

             Summary: BackgroundActivityMonitor.readAndCompute only returns half of the values
                 Key: CASSANDRA-7183
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7183
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Dave Brosius
            Assignee: Dave Brosius
            Priority: Minor
             Fix For: 2.0.9
         Attachments: 7183.txt

BackgroundActivityMonitor.readAndCompute does

        long[] returned = new long[tokenizer.countTokens()];
        for (int i = 0; i < tokenizer.countTokens(); i++)
            returned[i] = Long.parseLong(tokenizer.nextToken());

which is not only inefficient as it counts tokens each time thru the loop, it's wrong in that only the first half of the values are populated in the array, as each time thru the loop the number of tokens goes down by 1, since you've consumed one.

switch the loop to

 for (int i = 0; i < returned.length; i++)



--
This message was sent by Atlassian JIRA
(v6.2#6252)