lib/db: Upgrade to Blobloom v0.1.1 (#6553)

Now faster and Apache-licensed.
This commit is contained in:
greatroar 2020-04-20 14:23:36 +02:00 committed by GitHub
parent 44b0f0b456
commit 0e5ba3ca05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 8 deletions

2
go.mod
View File

@ -17,7 +17,7 @@ require (
github.com/gobwas/glob v0.2.3 github.com/gobwas/glob v0.2.3
github.com/gogo/protobuf v1.3.1 github.com/gogo/protobuf v1.3.1
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6 github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6
github.com/greatroar/blobloom v0.0.0-20200416084947-36d5bf1a4e53 github.com/greatroar/blobloom v0.1.1
github.com/jackpal/gateway v1.0.6 github.com/jackpal/gateway v1.0.6
github.com/jackpal/go-nat-pmp v1.0.2 github.com/jackpal/go-nat-pmp v1.0.2
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51

4
go.sum
View File

@ -82,8 +82,8 @@ github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY= github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/greatroar/blobloom v0.0.0-20200416084947-36d5bf1a4e53 h1:A6KOo8OOZb+mjFqwDhiUcNPxZVSsK3GGJtfZWh2SqJk= github.com/greatroar/blobloom v0.1.1 h1:6sz3aX6Dk2NVvMV50a4G8EyN4UUs7+4wFcIvUpe1a+k=
github.com/greatroar/blobloom v0.0.0-20200416084947-36d5bf1a4e53/go.mod h1:we9vO6GNYMmsNvCWINtZnQbcGEHUT6hGBAznNHd6RlE= github.com/greatroar/blobloom v0.1.1/go.mod h1:we9vO6GNYMmsNvCWINtZnQbcGEHUT6hGBAznNHd6RlE=
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/jackpal/gateway v1.0.6 h1:/MJORKvJEwNVldtGVJC2p2cwCnsSoLn3hl3zxmZT7tk= github.com/jackpal/gateway v1.0.6 h1:/MJORKvJEwNVldtGVJC2p2cwCnsSoLn3hl3zxmZT7tk=

View File

@ -597,9 +597,9 @@ func (db *Lowlevel) gcIndirect(ctx context.Context) error {
capacity = db.gcKeyCount capacity = db.gcKeyCount
} }
blockFilter := blobloom.NewOptimized(blobloom.Config{ blockFilter := blobloom.NewOptimized(blobloom.Config{
Capacity: uint64(capacity),
FPRate: indirectGCBloomFalsePositiveRate, FPRate: indirectGCBloomFalsePositiveRate,
MaxBits: 8 * indirectGCBloomMaxBytes, MaxBits: 8 * indirectGCBloomMaxBytes,
NKeys: uint64(capacity),
}) })
// Iterate the FileInfos, unmarshal the block and version hashes and // Iterate the FileInfos, unmarshal the block and version hashes and
@ -622,7 +622,7 @@ func (db *Lowlevel) gcIndirect(ctx context.Context) error {
return err return err
} }
if len(bl.BlocksHash) > 0 { if len(bl.BlocksHash) > 0 {
blockFilter.Add64(bloomHash(bl.BlocksHash)) blockFilter.Add(bloomHash(bl.BlocksHash))
} }
} }
it.Release() it.Release()
@ -647,7 +647,7 @@ func (db *Lowlevel) gcIndirect(ctx context.Context) error {
} }
key := blockListKey(it.Key()) key := blockListKey(it.Key())
if blockFilter.Has64(bloomHash(key)) { if blockFilter.Has(bloomHash(key)) {
matchedBlocks++ matchedBlocks++
continue continue
} }