private static CassandraKeyValueService createOrShutdownClientPool( MetricsManager metricsManager, CassandraKeyValueServiceConfig config, CassandraClientPool clientPool, Optional<LeaderConfig> leaderConfig, CassandraMutationTimestampProvider mutationTimestampProvider, Logger log, boolean initializeAsync) { try { return createAndInitialize(metricsManager, config, clientPool, leaderConfig, mutationTimestampProvider, log, initializeAsync); } catch (Exception e) { log.warn("Error occurred in creating Cassandra KVS. Now attempting to shut down client pool...", e); try { clientPool.shutdown(); log.info("Cassandra client pool shut down."); } catch (RuntimeException internalException) { log.info("An error occurred whilst shutting down the Cassandra client pool", internalException); throw internalException; } throw Throwables.rewrapAndThrowUncheckedException(e); } }
private static CassandraKeyValueService createOrShutdownClientPool( MetricsManager metricsManager, CassandraKeyValueServiceConfig config, CassandraClientPool clientPool, Optional<LeaderConfig> leaderConfig, CassandraMutationTimestampProvider mutationTimestampProvider, Logger log, boolean initializeAsync) { try { return createAndInitialize(metricsManager, config, clientPool, leaderConfig, mutationTimestampProvider, log, initializeAsync); } catch (Exception e) { log.warn("Error occurred in creating Cassandra KVS. Now attempting to shut down client pool...", e); try { clientPool.shutdown(); log.info("Cassandra client pool shut down."); } catch (RuntimeException internalException) { log.info("An error occurred whilst shutting down the Cassandra client pool", internalException); throw internalException; } throw Throwables.rewrapAndThrowUncheckedException(e); } }