you should count down the latch in a try / finally not in the exception block. Another thing which is nice about java 7 is that you can just rethrow even if you do catch throwable like in your case this would look like this:

```

} catch (Throwable t) {
  logger.warn("Failed to update master on updated mapping for {}", e, mappingRequest);
  throw t;
} finally {
  latch.countDown();
} 
```
since java 7 realizes that this must be an unchecked exception!