From 29f0b9d3c0777de7c17f543d7caf1a96674e53ae Mon Sep 17 00:00:00 2001 From: akwizgran Date: Mon, 28 Apr 2025 18:34:11 +0100 Subject: [PATCH] Mark DB as clean after compacting. This ensures we compact the DB at the next startup if we didn't finish compacting it at shutdown. --- .../java/org/briarproject/bramble/db/H2Database.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java b/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java index ce9a6912c..08cec8ecb 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/db/H2Database.java @@ -89,11 +89,17 @@ class H2Database extends JdbcDatabase { try { c = createConnection(); closeAllConnections(); - setDirty(c, false); + LOG.info("Compacting DB"); s = c.createStatement(); s.execute("SHUTDOWN COMPACT"); + LOG.info("Finished compacting DB"); s.close(); c.close(); + // Reopen the DB to mark it as clean after compacting + c = createConnection(); + setDirty(c, false); + LOG.info("Marked DB as clean"); + c.close(); } catch (SQLException e) { tryToClose(s, LOG, WARNING); tryToClose(c, LOG, WARNING); @@ -126,6 +132,7 @@ class H2Database extends JdbcDatabase { closeAllConnections(); s = c.createStatement(); s.execute("SHUTDOWN COMPACT"); + LOG.info("Finished compacting DB"); s.close(); c.close(); } catch (SQLException e) {