diff --git a/CHANGES.txt b/CHANGES.txt index 6c5fdedad2..96f97f43c7 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,6 @@ 2.2.8 + * Decrement pending range calculator jobs counter in finally block + (CASSANDRA-12554) * Add local address entry in PropertyFileSnitch (CASSANDRA-11332) * cqlshlib tests: increase default execute timeout (CASSANDRA-12481) * Forward writes to replacement node when replace_address != broadcast_address (CASSANDRA-8523) diff --git a/src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java b/src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java index 2276c4a8b4..806f6a57ca 100644 --- a/src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java +++ b/src/java/org/apache/cassandra/service/PendingRangeCalculatorService.java @@ -55,13 +55,17 @@ public class PendingRangeCalculatorService { public void run() { - long start = System.currentTimeMillis(); - for (String keyspaceName : Schema.instance.getNonSystemKeyspaces()) + try { - calculatePendingRanges(Keyspace.open(keyspaceName).getReplicationStrategy(), keyspaceName); + long start = System.currentTimeMillis(); + for (String keyspaceName : Schema.instance.getNonSystemKeyspaces()) + calculatePendingRanges(Keyspace.open(keyspaceName).getReplicationStrategy(), keyspaceName); + logger.debug("finished calculation for {} keyspaces in {}ms", Schema.instance.getNonSystemKeyspaces().size(), System.currentTimeMillis() - start); + } + finally + { + PendingRangeCalculatorService.instance.finishUpdate(); } - PendingRangeCalculatorService.instance.finishUpdate(); - logger.debug("finished calculation for {} keyspaces in {}ms", Schema.instance.getNonSystemKeyspaces().size(), System.currentTimeMillis() - start); } }