continue shutting down on error flushing data to disk
This commit is contained in:
parent
a2c0abcbc1
commit
56e61e611c
@ -150,12 +150,18 @@ public class PersistenceManager<T extends PersistableEnvelope> {
|
|||||||
// (fixes https://github.com/bisq-network/bisq/issues/4844).
|
// (fixes https://github.com/bisq-network/bisq/issues/4844).
|
||||||
if (persistenceManager.readCalled.get() &&
|
if (persistenceManager.readCalled.get() &&
|
||||||
(persistenceManager.source.flushAtShutDown || persistenceManager.persistenceRequested)) {
|
(persistenceManager.source.flushAtShutDown || persistenceManager.persistenceRequested)) {
|
||||||
|
|
||||||
// We always get our completeHandler called even if exceptions happen. In case a file write fails
|
// We always get our completeHandler called even if exceptions happen. In case a file write fails
|
||||||
// we still call our shutdown and count down routine as the completeHandler is triggered in any case.
|
// we still call our shutdown and count down routine as the completeHandler is triggered in any case.
|
||||||
|
|
||||||
// We get our result handler called from the write thread so we map back to user thread.
|
// We get our result handler called from the write thread so we map back to user thread.
|
||||||
persistenceManager.persistNow(() ->
|
try {
|
||||||
|
persistenceManager.persistNow(() ->
|
||||||
UserThread.execute(() -> onWriteCompleted(completeHandler, openInstances, persistenceManager, doShutdown)));
|
UserThread.execute(() -> onWriteCompleted(completeHandler, openInstances, persistenceManager, doShutdown)));
|
||||||
|
} catch (Exception e) {
|
||||||
|
if (!doShutdown) throw e; // only complete if shutting down
|
||||||
|
log.warn("Error flushing data to disk on shut down. Calling completeHandler.");
|
||||||
|
UserThread.execute(() -> onWriteCompleted(completeHandler, openInstances, persistenceManager, doShutdown));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
onWriteCompleted(completeHandler, openInstances, persistenceManager, doShutdown);
|
onWriteCompleted(completeHandler, openInstances, persistenceManager, doShutdown);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user