public void close() { memoryAndRowLogExecutor.shutdown(); memoryAndRowLogFuture.cancel(false); try { if (!memoryAndRowLogExecutor.awaitTermination(5, TimeUnit.SECONDS)) { memoryAndRowLogExecutor.shutdownNow(); } } catch (InterruptedException e) { memoryAndRowLogExecutor.shutdownNow(); Thread.currentThread().interrupt(); } if (LOG.isInfoEnabled()) { logMemoryInfo(); } }