From 87948b9cdb6455e939a765fa1172d6170cf5fa9b Mon Sep 17 00:00:00 2001 From: Marko Baricevic Date: Mon, 15 Aug 2022 23:43:36 +0200 Subject: [PATCH 01/13] goleveldb bloom filter --- .github/CODEOWNERS | 2 +- goleveldb.go | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b3e2330..b9dc73a 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,3 @@ # CODEOWNERS: https://help.github.com/articles/about-codeowners/ -* @alexanderbez @cmwaters @marbar3778 @tychoish @williambanfield +* @alexanderbez @marbar3778 diff --git a/goleveldb.go b/goleveldb.go index 8dd3c3c..a376892 100644 --- a/goleveldb.go +++ b/goleveldb.go @@ -6,6 +6,7 @@ import ( "github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb/errors" + "github.com/syndtr/goleveldb/leveldb/filter" "github.com/syndtr/goleveldb/leveldb/opt" "github.com/syndtr/goleveldb/leveldb/util" ) @@ -29,7 +30,11 @@ func NewGoLevelDB(name string, dir string) (*GoLevelDB, error) { func NewGoLevelDBWithOpts(name string, dir string, o *opt.Options) (*GoLevelDB, error) { dbPath := filepath.Join(dir, name+".db") - db, err := leveldb.OpenFile(dbPath, o) + options := &opt.Options{ + Filter: filter.NewBloomFilter(10), + } + db, err := leveldb.OpenFile(dbPath, options) + if err != nil { return nil, err } From bdfdbe71ec28d414bba86b7d1b0ea72a29ce5808 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Mon, 22 Aug 2022 17:21:55 +0700 Subject: [PATCH 02/13] update marko's branch --- goleveldb.go | 1 - 1 file changed, 1 deletion(-) diff --git a/goleveldb.go b/goleveldb.go index a376892..7ab7623 100644 --- a/goleveldb.go +++ b/goleveldb.go @@ -34,7 +34,6 @@ func NewGoLevelDBWithOpts(name string, dir string, o *opt.Options) (*GoLevelDB, Filter: filter.NewBloomFilter(10), } db, err := leveldb.OpenFile(dbPath, options) - if err != nil { return nil, err } From e3cc080e92c675b92e091974bc5b1fc4954f43be Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Mon, 22 Aug 2022 18:26:00 +0700 Subject: [PATCH 03/13] bloom filter --- .vscode/settings.json | 3 ++- goleveldb.go | 15 ++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 3e66e2e..bf3086e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,5 +2,6 @@ "go.buildTags": "cleveldb rocksdb pebbledb", "go.lintTool": "golangci-lint", "go.lintOnSave": "workspace", - "go.formatTool": "gofumpt" + "go.formatTool": "gofumpt", + "go.inferGopath": false } \ No newline at end of file diff --git a/goleveldb.go b/goleveldb.go index 7ab7623..2d3ab3e 100644 --- a/goleveldb.go +++ b/goleveldb.go @@ -25,15 +25,20 @@ type GoLevelDB struct { var _ DB = (*GoLevelDB)(nil) func NewGoLevelDB(name string, dir string) (*GoLevelDB, error) { - return NewGoLevelDBWithOpts(name, dir, nil) + options := &opt.Options{ + BlockSize: 64, // this is for compatibility with raid 0 systems + Filter: filter.NewBloomFilter(10), + OpenFilesCacheCapacity: 8192, + BlockCacheCapacity: opt.GiB, + WriteBuffer: 64 * opt.MiB, + DisableSeeksCompaction: true, + } + return NewGoLevelDBWithOpts(name, dir, options) } func NewGoLevelDBWithOpts(name string, dir string, o *opt.Options) (*GoLevelDB, error) { dbPath := filepath.Join(dir, name+".db") - options := &opt.Options{ - Filter: filter.NewBloomFilter(10), - } - db, err := leveldb.OpenFile(dbPath, options) + db, err := leveldb.OpenFile(dbPath, o) if err != nil { return nil, err } From 892d6c3ff42d83a9f35e6c0e6735f616d598d778 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Mon, 22 Aug 2022 20:06:22 +0700 Subject: [PATCH 04/13] Update settings.json --- .vscode/settings.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index bf3086e..72f39b7 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,6 +2,5 @@ "go.buildTags": "cleveldb rocksdb pebbledb", "go.lintTool": "golangci-lint", "go.lintOnSave": "workspace", - "go.formatTool": "gofumpt", - "go.inferGopath": false -} \ No newline at end of file + "go.formatTool": "gofumpt" +} From af9eae0aedf7711981a4fb75e673b78cffd7cdb3 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Mon, 22 Aug 2022 20:06:53 +0700 Subject: [PATCH 05/13] Update goleveldb.go --- goleveldb.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/goleveldb.go b/goleveldb.go index 2d3ab3e..ba0c2a4 100644 --- a/goleveldb.go +++ b/goleveldb.go @@ -26,12 +26,10 @@ var _ DB = (*GoLevelDB)(nil) func NewGoLevelDB(name string, dir string) (*GoLevelDB, error) { options := &opt.Options{ - BlockSize: 64, // this is for compatibility with raid 0 systems Filter: filter.NewBloomFilter(10), OpenFilesCacheCapacity: 8192, BlockCacheCapacity: opt.GiB, WriteBuffer: 64 * opt.MiB, - DisableSeeksCompaction: true, } return NewGoLevelDBWithOpts(name, dir, options) } From cdfd021ab9192a60b62019f4df3a9ea79ca42c30 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Wed, 31 Aug 2022 17:40:58 +0700 Subject: [PATCH 06/13] Update goleveldb.go --- goleveldb.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/goleveldb.go b/goleveldb.go index ba0c2a4..df286a8 100644 --- a/goleveldb.go +++ b/goleveldb.go @@ -26,10 +26,10 @@ var _ DB = (*GoLevelDB)(nil) func NewGoLevelDB(name string, dir string) (*GoLevelDB, error) { options := &opt.Options{ - Filter: filter.NewBloomFilter(10), - OpenFilesCacheCapacity: 8192, - BlockCacheCapacity: opt.GiB, - WriteBuffer: 64 * opt.MiB, + Filter: filter.NewBloomFilter(10), // by default, goleveldb doesn't use a bloom filter. + OpenFilesCacheCapacity: 8192, // default value here is 200 on mac, 500 on other. + BlockCacheCapacity: opt.GiB, // The default value is 8MiB. + WriteBuffer: 64 * opt.MiB, // The default value is 4MiB. } return NewGoLevelDBWithOpts(name, dir, options) } From 9b32c5af582d3d8a3de54aa477e8c86441b3c1da Mon Sep 17 00:00:00 2001 From: faddat Date: Thu, 1 Sep 2022 10:54:33 +0000 Subject: [PATCH 07/13] remove all changes to goleveldb config except for the bloom filter --- .gitpod.yml | 2 +- goleveldb.go | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitpod.yml b/.gitpod.yml index 9541a3d..80897fb 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -2,5 +2,5 @@ # Please adjust to your needs (see https://www.gitpod.io/docs/config-gitpod-file) # and commit this file to your remote git repository to share the goodness with others. -image: ghcr.io/cosmos/cosmos-db/build-test:latest +image: ghcr.io/cosmos/cosmos-db/bu # this means that there's a one-click known good environment available to developers. diff --git a/goleveldb.go b/goleveldb.go index df286a8..36221b3 100644 --- a/goleveldb.go +++ b/goleveldb.go @@ -27,9 +27,6 @@ var _ DB = (*GoLevelDB)(nil) func NewGoLevelDB(name string, dir string) (*GoLevelDB, error) { options := &opt.Options{ Filter: filter.NewBloomFilter(10), // by default, goleveldb doesn't use a bloom filter. - OpenFilesCacheCapacity: 8192, // default value here is 200 on mac, 500 on other. - BlockCacheCapacity: opt.GiB, // The default value is 8MiB. - WriteBuffer: 64 * opt.MiB, // The default value is 4MiB. } return NewGoLevelDBWithOpts(name, dir, options) } From 37c2da2c18215446b85c28a7bbe9dd4c2470752f Mon Sep 17 00:00:00 2001 From: faddat Date: Thu, 1 Sep 2022 11:03:33 +0000 Subject: [PATCH 08/13] fumpt --- goleveldb.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/goleveldb.go b/goleveldb.go index 36221b3..47a2856 100644 --- a/goleveldb.go +++ b/goleveldb.go @@ -26,7 +26,7 @@ var _ DB = (*GoLevelDB)(nil) func NewGoLevelDB(name string, dir string) (*GoLevelDB, error) { options := &opt.Options{ - Filter: filter.NewBloomFilter(10), // by default, goleveldb doesn't use a bloom filter. + Filter: filter.NewBloomFilter(10), // by default, goleveldb doesn't use a bloom filter. } return NewGoLevelDBWithOpts(name, dir, options) } From da65a80c673e145f76d01873328a67eec907b135 Mon Sep 17 00:00:00 2001 From: Jacob Gadikian Date: Thu, 1 Sep 2022 18:32:25 +0700 Subject: [PATCH 09/13] Update .gitpod.yml --- .gitpod.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitpod.yml b/.gitpod.yml index 80897fb..9541a3d 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -2,5 +2,5 @@ # Please adjust to your needs (see https://www.gitpod.io/docs/config-gitpod-file) # and commit this file to your remote git repository to share the goodness with others. -image: ghcr.io/cosmos/cosmos-db/bu +image: ghcr.io/cosmos/cosmos-db/build-test:latest # this means that there's a one-click known good environment available to developers. From faad9ab034394d2f90a3faf385888f05ee10a0a5 Mon Sep 17 00:00:00 2001 From: faddat Date: Thu, 1 Sep 2022 11:33:49 +0000 Subject: [PATCH 10/13] some files were changed that shouldn't be --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index b9dc73a..b3e2330 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,3 @@ # CODEOWNERS: https://help.github.com/articles/about-codeowners/ -* @alexanderbez @marbar3778 +* @alexanderbez @cmwaters @marbar3778 @tychoish @williambanfield From 781811d540aff9226b5431d5593f565898265f69 Mon Sep 17 00:00:00 2001 From: faddat Date: Thu, 1 Sep 2022 11:34:39 +0000 Subject: [PATCH 11/13] restore .vscode --- .vscode/settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 72f39b7..3e66e2e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,4 +3,4 @@ "go.lintTool": "golangci-lint", "go.lintOnSave": "workspace", "go.formatTool": "gofumpt" -} +} \ No newline at end of file From c5354233977b0c5c9beae0e26323c68251fab58a Mon Sep 17 00:00:00 2001 From: faddat Date: Thu, 1 Sep 2022 11:35:22 +0000 Subject: [PATCH 12/13] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 42d8b87..de0e3ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,4 +2,5 @@ ## Unreleased +- added bloom filter: https://github.com/cosmos/cosmos-db/pull/42/files - Removed Badger & Boltdb From eb42e0e3a319126cc16d9a71cbc2785e475cd89b Mon Sep 17 00:00:00 2001 From: faddat Date: Thu, 15 Sep 2022 15:58:41 +0000 Subject: [PATCH 13/13] gofumpt --- goleveldb.go | 1 - 1 file changed, 1 deletion(-) diff --git a/goleveldb.go b/goleveldb.go index 1e93f91..f3d9f2f 100644 --- a/goleveldb.go +++ b/goleveldb.go @@ -25,7 +25,6 @@ type GoLevelDB struct { var _ DB = (*GoLevelDB)(nil) - func NewGoLevelDB(name string, dir string, opts Options) (*GoLevelDB, error) { defaultOpts := &opt.Options{ Filter: filter.NewBloomFilter(10), // by default, goleveldb doesn't use a bloom filter.