Base ouverte a la demande, pas gardee ouverte

bbolt pose un verrou exclusif sur son fichier : le service de lien, qui tourne
en permanence, empechait toute commande CLI de s'executer a cote. La base est
desormais ouverte pour la duree d'une operation puis refermee, et les buckets
ne sont crees qu'a l'ecriture (une lecture ne coute plus un fsync : 3,8 ms ->
0,55 ms). Test de concurrence a l'appui.
This commit is contained in:
nathaninline committed 2026-08-07 17:22:31 +02:00
1 parent 687ec81023
commit 47c27499ae
3 files changed
+104 -86

No files matched your search

+1 -5
View File
@@ -2,15 +2,11 @@ package ajean
import "testing"
// testHome donne au test un $AJEAN_HOME à lui et ferme la base à la fin.
//
// La fermeture n'est pas une politesse : bbolt garde un verrou exclusif sur son
// fichier, et sous Windows le ménage de t.TempDir() échoue tant qu'il est ouvert.
// testHome donne au test un $AJEAN_HOME à lui.
func testHome(t *testing.T) string {
t.Helper()
home := t.TempDir()
t.Setenv("AJEAN_HOME", home)
t.Cleanup(closeDB)
return home
}