@wburns It is needed. How are you otherwise gonna send back the exception? Sure you call have to hand roll your own waiting until the `Runnable` has finished, then check if there's any exceptions and propagate them. We're in post JDK5 world thankfully, and Callable+Futures enable this very nicely. Feel free to run `LevelDBCacheStoreTest` and see how a failure in purgeExpired is getting completely ignored, and there's no synchronous handling of the exception at all.