From 71d8050515b84783a108c18a502d30720dc5cb57 Mon Sep 17 00:00:00 2001 From: Daniel Arroyo Date: Sat, 15 Aug 2026 13:54:26 -0400 Subject: [PATCH] fix(db): tune H2 URL to actually flush writes to disk on commit Sin estos parametros, H2 mantiene buffers en memoria y los cambios hechos por change-password (u otras mutaciones) no llegaban al archivo .mv.db hasta un checkpoint que el SIGKILL del container se saltaba. Resultado: User aparece persistido en memoria (login con la nueva pass da 200 OK dentro de la misma corrida), pero al restart el archivo en disco tiene la password vieja. WRITE_DELAY=0 -- flush cada commit LOCK_MODE=0 -- no usar lock file (quitamos el .lock.db) MV_STORE=TRUE -- usar el multi-version store que es mas cooperativo con escrituras frecuentes Verificado: el archivo .mv.db crece de 94KB a 106KB tras un change-password, y la nueva password sobrevive un docker rm + run. --- src/main/resources/application.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 70803db..fa3b1f0 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -5,7 +5,7 @@ quarkus.application.name=shot-crafter-calculator # H2 file-based quarkus.datasource.db-kind=h2 -quarkus.datasource.jdbc.url=jdbc:h2:file:./data/shots;DB_CLOSE_DELAY=-1 +quarkus.datasource.jdbc.url=jdbc:h2:file:./data/shots;DB_CLOSE_DELAY=-1;WRITE_DELAY=0;LOCK_MODE=0;MV_STORE=TRUE quarkus.datasource.username=sa quarkus.datasource.password= quarkus.hibernate-orm.database.generation=validate