From 38ff407c26bd05cc46739e322aa22707f84a5aff Mon Sep 17 00:00:00 2001 From: sankalp kohli Date: Wed, 14 Sep 2016 14:51:29 -0500 Subject: [PATCH] Decrement pending range calculator counter in finally block Patch by Sankalp Kohli; reviewed by Tyler Hobbs for CASSANDRA-12554 --- CHANGES.txt | 2 ++ .../service/PendingRangeCalculatorService.java | 14 +++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) 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); } }