From 4fb18b448cabdb205e5a45de72592137f05e69ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Tue, 19 Mar 2019 23:04:18 +0100 Subject: [PATCH 1/2] Make sure to GC as much as possible --- datastore.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/datastore.go b/datastore.go index 7351467..3b49dcb 100644 --- a/datastore.go +++ b/datastore.go @@ -274,17 +274,20 @@ func (d *Datastore) Batch() (ds.Batch, error) { return tx, nil } -func (d *Datastore) CollectGarbage() error { +func (d *Datastore) CollectGarbage() (err error) { d.closeLk.RLock() defer d.closeLk.RUnlock() if d.closed { return ErrClosed } - err := d.DB.RunValueLogGC(d.gcDiscardRatio) + for err == nil { + err = d.DB.RunValueLogGC(d.gcDiscardRatio) + } if err == badger.ErrNoRewrite { err = nil } + return err } From a17a6683864e61d114c2c57d8f61d962d326473f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Magiera?= Date: Wed, 20 Mar 2019 14:32:16 +0100 Subject: [PATCH 2/2] Update badger to latest master --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index a883177..7dfe65f 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/ipfs/go-ds-badger require ( github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7 // indirect github.com/Kubuxu/go-os-helper v0.0.1 - github.com/dgraph-io/badger v1.5.5-0.20190226225317-8115aed38f8f + github.com/dgraph-io/badger v2.0.0-rc.2+incompatible github.com/dgryski/go-farm v0.0.0-20190104051053-3adb47b1fb0f // indirect github.com/dustin/go-humanize v1.0.0 // indirect github.com/golang/protobuf v1.3.0 // indirect diff --git a/go.sum b/go.sum index 5ee11d8..a49192a 100644 --- a/go.sum +++ b/go.sum @@ -10,6 +10,8 @@ github.com/dgraph-io/badger v1.5.5-0.20181004181505-439fd464b155 h1:T4boC9W0W8nX github.com/dgraph-io/badger v1.5.5-0.20181004181505-439fd464b155/go.mod h1:VZxzAIRPHRVNRKRo6AXrX9BJegn6il06VMTZVJYCIjQ= github.com/dgraph-io/badger v1.5.5-0.20190226225317-8115aed38f8f h1:6itBiEUtu+gOzXZWn46bM5/qm8LlV6/byR7Yflx/y6M= github.com/dgraph-io/badger v1.5.5-0.20190226225317-8115aed38f8f/go.mod h1:VZxzAIRPHRVNRKRo6AXrX9BJegn6il06VMTZVJYCIjQ= +github.com/dgraph-io/badger v2.0.0-rc.2+incompatible h1:7KPp6xv5+wymkVUbkAnZZXvmDrJlf09m/7u1HG5lAYA= +github.com/dgraph-io/badger v2.0.0-rc.2+incompatible/go.mod h1:VZxzAIRPHRVNRKRo6AXrX9BJegn6il06VMTZVJYCIjQ= github.com/dgryski/go-farm v0.0.0-20190104051053-3adb47b1fb0f h1:dDxpBYafY/GYpcl+LS4Bn3ziLPuEdGRkRjYAbSlWxSA= github.com/dgryski/go-farm v0.0.0-20190104051053-3adb47b1fb0f/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=