try {
if (!unexpectedClose)
makeSnapshot(true);
-
+
mainProgram.close();
clusters.shutdown();
executor.shutdown();
boolean saverTerminated = saver.awaitTermination(500, TimeUnit.MILLISECONDS);
System.err.println("executorTerminated=" + executorTerminated + ", saverTerminated=" + saverTerminated);
-
+
+ try {
+ clusters.mainState.save(dbFolder);
+ } catch (IOException e) {
+ LOGGER.error("Failed to save " + MainState.MAIN_STATE + " file in database folder " + dbFolder);
+ }
+
mainProgram = null;
executor = null;
saver = null;