Open ljacomet opened 8 years ago
The likely way to fix this is to not shutdown the executor on "final shutdown", but instead shut it down when it becomes idle, and then get restarted again on the next usage.
I think this issue is related to https://github.com/ehcache/ehcache3/issues/3204
I am guessing we should shutdown the executor like below? @chrisdennis
class MappedPagedSource {
public synchronized void close() throws IOException {
try {
this.channel.close();
ASYNC_FLUSH_EXECUTOR.shutdown(); // shutdown the retryer like this?
} finally {
this.raf.close();
}
}
}
org.terracotta.offheapstore.disk.paging.MappedPageSource.ASYNC_FLUSH_EXECUTOR
is an instance oforg.terracotta.offheapstore.util.Retryer
and owns an executor which is not shut down.This is my ugly workaround:
Copied from ehcache/ehcache3#1444