From 9595e67c8def7af032eac72c5de1fa252299d54a Mon Sep 17 00:00:00 2001 From: ucwong Date: Sun, 15 Oct 2023 02:29:09 +0800 Subject: [PATCH] deps --- go.mod | 10 +++--- go.sum | 20 +++++------ .../torrentfs/backend/handler.go | 21 +++-------- .../CortexFoundation/torrentfs/backend/zip.go | 35 +++++++++++++++++++ .../pebble/objstorage/objstorage.go | 6 ++++ .../objstorage/objstorageprovider/provider.go | 8 ++--- .../objstorage/objstorageprovider/remote.go | 13 +++---- .../remoteobjcat/catalog.go | 4 +-- .../pebble/objstorage/remote/storage.go | 7 ++++ vendor/github.com/dgraph-io/badger/v4/db.go | 2 +- .../github.com/dgraph-io/badger/v4/levels.go | 19 ++++++++-- vendor/github.com/dgraph-io/badger/v4/txn.go | 4 ++- vendor/modules.txt | 10 +++--- 13 files changed, 106 insertions(+), 53 deletions(-) create mode 100644 vendor/github.com/CortexFoundation/torrentfs/backend/zip.go diff --git a/go.mod b/go.mod index 361c6f9702..c213c4815d 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.4.1 github.com/CortexFoundation/inference v1.0.2-0.20230307032835-9197d586a4e8 github.com/CortexFoundation/statik v0.0.0-20210315012922-8bb8a7b5dc66 - github.com/CortexFoundation/torrentfs v1.0.55-0.20231012080528-65801dab46cf + github.com/CortexFoundation/torrentfs v1.0.55-0.20231014161335-3e70e488e8b3 github.com/VictoriaMetrics/fastcache v1.12.1 github.com/arsham/figurine v1.3.0 github.com/aws/aws-sdk-go-v2 v1.21.1 @@ -18,7 +18,7 @@ require ( github.com/charmbracelet/bubbletea v0.24.2 github.com/cloudflare/cloudflare-go v0.57.1 github.com/cockroachdb/errors v1.11.1 - github.com/cockroachdb/pebble v0.0.0-20231011191824-ede31f1a8e4b + github.com/cockroachdb/pebble v0.0.0-20231013194213-bbbf3df1d265 github.com/consensys/gnark-crypto v0.12.1 github.com/crate-crypto/go-kzg-4844 v0.3.0 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc @@ -135,7 +135,7 @@ require ( github.com/crate-crypto/go-ipa v0.0.0-20230601170251-1830d0757c80 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/deepmap/oapi-codegen v1.8.2 // indirect - github.com/dgraph-io/badger/v4 v4.2.1-0.20230929213516-27724c4dbe8e // indirect + github.com/dgraph-io/badger/v4 v4.2.1-0.20231013074411-fb1b00959581 // indirect github.com/dgraph-io/ristretto v0.1.1 // indirect github.com/dlclark/regexp2 v1.7.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect @@ -218,7 +218,7 @@ require ( github.com/tklauser/numcpus v0.6.1 // indirect github.com/ucwong/filecache v1.0.6-0.20230405163841-810d53ced4bd // indirect github.com/ucwong/go-ttlmap v1.0.2-0.20221020173635-331e7ddde2bb // indirect - github.com/ucwong/golang-kv v1.0.23-0.20231012064749-3f7aa3accb7c // indirect + github.com/ucwong/golang-kv v1.0.23-0.20231014143841-1b5c490f26f1 // indirect github.com/ucwong/shard v1.0.1-0.20230924231639-2ac2d8ab288c // indirect github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect github.com/xujiajun/mmap-go v1.0.1 // indirect @@ -231,7 +231,7 @@ require ( go.opentelemetry.io/otel/metric v1.16.0 // indirect go.opentelemetry.io/otel/trace v1.16.0 // indirect golang.org/x/mod v0.13.0 // indirect - golang.org/x/net v0.16.0 // indirect + golang.org/x/net v0.17.0 // indirect golang.org/x/term v0.13.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gotest.tools/v3 v3.5.1 // indirect diff --git a/go.sum b/go.sum index 196d38eb1e..08fde8b31e 100644 --- a/go.sum +++ b/go.sum @@ -66,8 +66,8 @@ github.com/CortexFoundation/statik v0.0.0-20210315012922-8bb8a7b5dc66/go.mod h1: github.com/CortexFoundation/torrentfs v1.0.13-0.20200623060705-ce027f43f2f8/go.mod h1:Ma+tGhPPvz4CEZHaqEJQMOEGOfHeQBiAoNd1zyc/w3Q= github.com/CortexFoundation/torrentfs v1.0.14-0.20200703071639-3fcabcabf274/go.mod h1:qnb3YlIJmuetVBtC6Lsejr0Xru+1DNmDCdTqnwy7lhk= github.com/CortexFoundation/torrentfs v1.0.20-0.20200810031954-d36d26f82fcc/go.mod h1:N5BsicP5ynjXIi/Npl/SRzlJ630n1PJV2sRj0Z0t2HA= -github.com/CortexFoundation/torrentfs v1.0.55-0.20231012080528-65801dab46cf h1:w2ZfGn4q8iDCAvdOWkRTe1ABLkiCW1O3cMoBwJS3WvQ= -github.com/CortexFoundation/torrentfs v1.0.55-0.20231012080528-65801dab46cf/go.mod h1:F3M81G8vAQ25aF9cL4wQqvGz+LS4bodqSTzif1Rc1E4= +github.com/CortexFoundation/torrentfs v1.0.55-0.20231014161335-3e70e488e8b3 h1:fYejpahdN0E1S5kUambribObjDMTqydGXMsbXQGOc4w= +github.com/CortexFoundation/torrentfs v1.0.55-0.20231014161335-3e70e488e8b3/go.mod h1:shi2IAyjRL6yH9uIP9Ehz7faIXXa7ctI05HDC5rKQgQ= github.com/CortexFoundation/wormhole v0.0.2-0.20230922082251-f97b53242e48 h1:EDrk6U+GjSJ1FdbTrtRDe3LA/Ot6E3xu/HpXAio99B4= github.com/CortexFoundation/wormhole v0.0.2-0.20230922082251-f97b53242e48/go.mod h1:a2ynt5IqAlGTWLQY0pILqkxYe4AzHLNd+bPmK/r03oE= github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= @@ -347,8 +347,8 @@ github.com/cockroachdb/errors v1.11.1 h1:xSEW75zKaKCWzR3OfxXUxgrk/NtT4G1MiOv5lWZ github.com/cockroachdb/errors v1.11.1/go.mod h1:8MUxA3Gi6b25tYlFEBGLf+D8aISL+M4MIpiWMSNRfxw= github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE= github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs= -github.com/cockroachdb/pebble v0.0.0-20231011191824-ede31f1a8e4b h1:/fElHApeWG4Btj37APrPuilBce1sinPUEjEXCFs8Tds= -github.com/cockroachdb/pebble v0.0.0-20231011191824-ede31f1a8e4b/go.mod h1:sEHm5NOXxyiAoKWhoFxT8xMgd/f3RA6qUqQ1BXKrh2E= +github.com/cockroachdb/pebble v0.0.0-20231013194213-bbbf3df1d265 h1:72G2TqacUCaXQG103+HLa4BizTNUrC2xvDlyhbv8lww= +github.com/cockroachdb/pebble v0.0.0-20231013194213-bbbf3df1d265/go.mod h1:sEHm5NOXxyiAoKWhoFxT8xMgd/f3RA6qUqQ1BXKrh2E= github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30= github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= @@ -397,8 +397,8 @@ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 h1:8UrgZ3GkP4i/CLijOJx79Yu+etly github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= github.com/deepmap/oapi-codegen v1.8.2 h1:SegyeYGcdi0jLLrpbCMoJxnUUn8GBXHsvr4rbzjuhfU= github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= -github.com/dgraph-io/badger/v4 v4.2.1-0.20230929213516-27724c4dbe8e h1:Mie0PFZWDQjT5eDsXvCIrOUtKY1k8lWKAHfvaLwTihs= -github.com/dgraph-io/badger/v4 v4.2.1-0.20230929213516-27724c4dbe8e/go.mod h1:WhH+o5WylpkniTpKsBkWx15GZUJGwOApGLbvLsNU+DY= +github.com/dgraph-io/badger/v4 v4.2.1-0.20231013074411-fb1b00959581 h1:yy45brf1ktmnkTCZlHynP1gRlVwZ9g19oz5D9wG81v4= +github.com/dgraph-io/badger/v4 v4.2.1-0.20231013074411-fb1b00959581/go.mod h1:T/uWAYxrXdaXw64ihI++9RMbKTCpKd/yE9+saARew7k= github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8= github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= @@ -1251,8 +1251,8 @@ github.com/ucwong/filecache v1.0.6-0.20230405163841-810d53ced4bd h1:gBtlvLAsgLk+ github.com/ucwong/filecache v1.0.6-0.20230405163841-810d53ced4bd/go.mod h1:ddwX+NCjMZPdpzcGh1fcEbNTUTCtKgt2hC2rqvmLKgA= github.com/ucwong/go-ttlmap v1.0.2-0.20221020173635-331e7ddde2bb h1:dVZH3AH9f7zB3VBmsjn25B7lfcAyMP4QxdFYTrfj7tg= github.com/ucwong/go-ttlmap v1.0.2-0.20221020173635-331e7ddde2bb/go.mod h1:3yswsBsVuwsOjDvFfC5Na9XSEf4HC7mj3W3g6jvSY/s= -github.com/ucwong/golang-kv v1.0.23-0.20231012064749-3f7aa3accb7c h1:Y7gFp3mAKKCH/+iRWAgUbkT3S367IurJaI78FVdju3c= -github.com/ucwong/golang-kv v1.0.23-0.20231012064749-3f7aa3accb7c/go.mod h1:6mpKYQoFmCVKAOYR4Ok5rUZbiWPTQ39wKhtUc+KGEi0= +github.com/ucwong/golang-kv v1.0.23-0.20231014143841-1b5c490f26f1 h1:xm/d3jPtZgg9c45PRQ59FCP4d0SwEdqTmNuxx+0dpOQ= +github.com/ucwong/golang-kv v1.0.23-0.20231014143841-1b5c490f26f1/go.mod h1:kkAzZLxD6bhdKP8SxFOXuJYLPuAKs3aGE6GUquqwmcs= github.com/ucwong/golang-set v1.8.1-0.20200419153428-d7b0b1ac2d43/go.mod h1:xu0FaiQFGbBcFZj2o7udZ5rbA8jRTsv47hkPoG5qQNM= github.com/ucwong/goleveldb v1.0.3-0.20200508074755-578cba616f37/go.mod h1:dgJUTtDxq/ne6/JzZhHzF24OL/uqILz9IWk8HmT4V2g= github.com/ucwong/goleveldb v1.0.3-0.20200618184106-f1c6bc3a428b/go.mod h1:7Sq6w7AfEZuB/a6mrlvHCSXCSkqojCMMrM3Ei12QAT0= @@ -1469,8 +1469,8 @@ golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/net v0.16.0 h1:7eBu7KsSvFDtSXUIDbh3aqlK4DPsZ1rByC8PFfBThos= -golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= diff --git a/vendor/github.com/CortexFoundation/torrentfs/backend/handler.go b/vendor/github.com/CortexFoundation/torrentfs/backend/handler.go index 1e1e6feaef..8632395ee8 100644 --- a/vendor/github.com/CortexFoundation/torrentfs/backend/handler.go +++ b/vendor/github.com/CortexFoundation/torrentfs/backend/handler.go @@ -23,9 +23,8 @@ import ( "errors" "fmt" "io" - "net" - //"math" "math" + "net" "os" "path/filepath" "runtime" @@ -37,24 +36,12 @@ import ( "github.com/CortexFoundation/CortexTheseus/common" "github.com/CortexFoundation/CortexTheseus/common/mclock" "github.com/CortexFoundation/CortexTheseus/log" - "github.com/CortexFoundation/torrentfs/compress" "github.com/CortexFoundation/torrentfs/params" - //"github.com/CortexFoundation/torrentfs/shard" "github.com/CortexFoundation/torrentfs/tool" "github.com/CortexFoundation/torrentfs/types" "github.com/CortexFoundation/wormhole" "github.com/ucwong/shard" - //"github.com/allegro/bigcache/v3" - "github.com/bradfitz/iter" - "github.com/edsrzf/mmap-go" - //lru "github.com/hashicorp/golang-lru" - - //mapset "github.com/deckarep/golang-set/v2" - //"golang.org/x/time/rate" - - //xlog "github.com/anacrolix/log" - //"github.com/anacrolix/missinggo/v2/filecache" "github.com/anacrolix/torrent" "github.com/anacrolix/torrent/analysis" "github.com/anacrolix/torrent/bencode" @@ -63,6 +50,8 @@ import ( "github.com/anacrolix/torrent/mmap_span" pp "github.com/anacrolix/torrent/peer_protocol" "github.com/anacrolix/torrent/storage" + "github.com/bradfitz/iter" + "github.com/edsrzf/mmap-go" "github.com/ucwong/golang-kv" "github.com/anacrolix/dht/v2" @@ -1361,7 +1350,7 @@ func (tm *TorrentManager) GetFile(ctx context.Context, infohash, subpath string) } return -}*/ +} func (tm *TorrentManager) unzip(data []byte) ([]byte, error) { if tm.compress { @@ -1375,4 +1364,4 @@ func (tm *TorrentManager) zip(data []byte) ([]byte, error) { return compress.ZipData(data) } return data, nil -} +}*/ diff --git a/vendor/github.com/CortexFoundation/torrentfs/backend/zip.go b/vendor/github.com/CortexFoundation/torrentfs/backend/zip.go new file mode 100644 index 0000000000..869bf35076 --- /dev/null +++ b/vendor/github.com/CortexFoundation/torrentfs/backend/zip.go @@ -0,0 +1,35 @@ +// Copyright 2020 The CortexTheseus Authors +// This file is part of the CortexTheseus library. +// +// The CortexTheseus library is free software: you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// The CortexTheseus library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the CortexTheseus library. If not, see . + +package backend + +import ( + "github.com/CortexFoundation/torrentfs/compress" +) + +func (tm *TorrentManager) unzip(data []byte) ([]byte, error) { + if tm.compress { + return compress.UnzipData(data) + } + return data, nil +} + +func (tm *TorrentManager) zip(data []byte) ([]byte, error) { + if tm.compress { + return compress.ZipData(data) + } + return data, nil +} diff --git a/vendor/github.com/cockroachdb/pebble/objstorage/objstorage.go b/vendor/github.com/cockroachdb/pebble/objstorage/objstorage.go index bbb5b6e12e..3f78b4c4a7 100644 --- a/vendor/github.com/cockroachdb/pebble/objstorage/objstorage.go +++ b/vendor/github.com/cockroachdb/pebble/objstorage/objstorage.go @@ -13,6 +13,7 @@ import ( "github.com/cockroachdb/pebble/objstorage/objstorageprovider/sharedcache" "github.com/cockroachdb/pebble/objstorage/remote" "github.com/cockroachdb/pebble/vfs" + "github.com/cockroachdb/redact" ) // Readable is the handle for an object that is open for reading. @@ -167,6 +168,11 @@ func (c CreatorID) IsSet() bool { return c != 0 } func (c CreatorID) String() string { return fmt.Sprintf("%d", c) } +// SafeFormat implements redact.SafeFormatter. +func (c CreatorID) SafeFormat(w redact.SafePrinter, _ rune) { + w.Printf("%d", redact.SafeUint(c)) +} + // SharedCleanupMethod indicates the method for cleaning up unused shared objects. type SharedCleanupMethod uint8 diff --git a/vendor/github.com/cockroachdb/pebble/objstorage/objstorageprovider/provider.go b/vendor/github.com/cockroachdb/pebble/objstorage/objstorageprovider/provider.go index d0f7450535..671d32974e 100644 --- a/vendor/github.com/cockroachdb/pebble/objstorage/objstorageprovider/provider.go +++ b/vendor/github.com/cockroachdb/pebble/objstorage/objstorageprovider/provider.go @@ -255,7 +255,7 @@ func (p *provider) Create( w, meta, err = p.vfsCreate(ctx, fileType, fileNum) } if err != nil { - err = errors.Wrapf(err, "creating object %s", errors.Safe(fileNum)) + err = errors.Wrapf(err, "creating object %s", fileNum) return nil, objstorage.ObjectMetadata{}, err } p.addMetadata(meta) @@ -292,7 +292,7 @@ func (p *provider) Remove(fileType base.FileType, fileNum base.DiskFileNum) erro // We want to be able to retry a Remove, so we keep the object in our list. // TODO(radu): we should mark the object as "zombie" and not allow any other // operations. - return errors.Wrapf(err, "removing object %s", errors.Safe(fileNum)) + return errors.Wrapf(err, "removing object %s", fileNum) } p.removeMetadata(fileNum) @@ -404,13 +404,13 @@ func (p *provider) Lookup( return objstorage.ObjectMetadata{}, errors.Wrapf( os.ErrNotExist, "file %s (type %d) unknown to the objstorage provider", - errors.Safe(fileNum), errors.Safe(fileType), + fileNum, errors.Safe(fileType), ) } if meta.FileType != fileType { return objstorage.ObjectMetadata{}, errors.AssertionFailedf( "file %s type mismatch (known type %d, expected type %d)", - errors.Safe(fileNum), errors.Safe(meta.FileType), errors.Safe(fileType), + fileNum, errors.Safe(meta.FileType), errors.Safe(fileType), ) } return meta, nil diff --git a/vendor/github.com/cockroachdb/pebble/objstorage/objstorageprovider/remote.go b/vendor/github.com/cockroachdb/pebble/objstorage/objstorageprovider/remote.go index e8ee42b940..70fdfc78ec 100644 --- a/vendor/github.com/cockroachdb/pebble/objstorage/objstorageprovider/remote.go +++ b/vendor/github.com/cockroachdb/pebble/objstorage/objstorageprovider/remote.go @@ -18,6 +18,7 @@ import ( "github.com/cockroachdb/pebble/objstorage/objstorageprovider/remoteobjcat" "github.com/cockroachdb/pebble/objstorage/objstorageprovider/sharedcache" "github.com/cockroachdb/pebble/objstorage/remote" + "github.com/cockroachdb/redact" ) // remoteSubsystem contains the provider fields related to remote storage. @@ -233,7 +234,7 @@ func (p *provider) sharedCreateRef(meta objstorage.ObjectMetadata) error { err = writer.Close() } if err != nil { - return errors.Wrapf(err, "creating marker object %q", refName) + return errors.Wrapf(err, "creating marker object %q", errors.Safe(refName)) } return nil } @@ -265,7 +266,7 @@ func (p *provider) sharedCreate( objName := remoteObjectName(meta) writer, err := storage.CreateObject(objName) if err != nil { - return nil, objstorage.ObjectMetadata{}, errors.Wrapf(err, "creating object %q", objName) + return nil, objstorage.ObjectMetadata{}, errors.Wrapf(err, "creating object %q", errors.Safe(objName)) } return &sharedWritable{ p: p, @@ -290,19 +291,19 @@ func (p *provider) remoteOpenForReading( if _, err := meta.Remote.Storage.Size(refName); err != nil { if meta.Remote.Storage.IsNotExistError(err) { if opts.MustExist { - p.st.Logger.Fatalf("marker object %q does not exist", refName) + p.st.Logger.Fatalf("marker object %q does not exist", errors.Safe(refName)) // TODO(radu): maybe list references for the object. } - return nil, errors.Errorf("marker object %q does not exist", refName) + return nil, errors.Errorf("marker object %q does not exist", errors.Safe(refName)) } - return nil, errors.Wrapf(err, "checking marker object %q", refName) + return nil, errors.Wrapf(err, "checking marker object %q", errors.Safe(refName)) } } objName := remoteObjectName(meta) reader, size, err := meta.Remote.Storage.ReadObject(ctx, objName) if err != nil { if opts.MustExist && meta.Remote.Storage.IsNotExistError(err) { - p.st.Logger.Fatalf("object %q does not exist", objName) + p.st.Logger.Fatalf("object %q does not exist", redact.SafeString(objName)) // TODO(radu): maybe list references for the object. } return nil, err diff --git a/vendor/github.com/cockroachdb/pebble/objstorage/objstorageprovider/remoteobjcat/catalog.go b/vendor/github.com/cockroachdb/pebble/objstorage/objstorageprovider/remoteobjcat/catalog.go index 8508f19cfe..67fc51f06a 100644 --- a/vendor/github.com/cockroachdb/pebble/objstorage/objstorageprovider/remoteobjcat/catalog.go +++ b/vendor/github.com/cockroachdb/pebble/objstorage/objstorageprovider/remoteobjcat/catalog.go @@ -138,7 +138,7 @@ func (c *Catalog) SetCreatorID(id objstorage.CreatorID) error { ve := VersionEdit{CreatorID: id} if err := c.writeToCatalogFileLocked(&ve); err != nil { - return errors.Wrapf(err, "pebble: could not write to remote object catalog: %v", err) + return errors.Wrapf(err, "pebble: could not write to remote object catalog") } c.mu.creatorID = id return nil @@ -240,7 +240,7 @@ func (c *Catalog) ApplyBatch(b Batch) error { } if err := c.writeToCatalogFileLocked(&b.ve); err != nil { - return errors.Wrapf(err, "pebble: could not write to remote object catalog: %v", err) + return errors.Wrapf(err, "pebble: could not write to remote object catalog") } // Add new objects before deleting any objects. This allows for cases where diff --git a/vendor/github.com/cockroachdb/pebble/objstorage/remote/storage.go b/vendor/github.com/cockroachdb/pebble/objstorage/remote/storage.go index dccb0060c9..8918764413 100644 --- a/vendor/github.com/cockroachdb/pebble/objstorage/remote/storage.go +++ b/vendor/github.com/cockroachdb/pebble/objstorage/remote/storage.go @@ -7,6 +7,8 @@ package remote import ( "context" "io" + + "github.com/cockroachdb/redact" ) // Locator is an opaque string identifying a remote.Storage implementation. @@ -16,6 +18,11 @@ import ( // RemoteObjectBacking; they can also appear in error messages. type Locator string +// SafeFormat implements redact.SafeFormatter. +func (l Locator) SafeFormat(w redact.SafePrinter, _ rune) { + w.Printf("%s", redact.SafeString(l)) +} + // StorageFactory is used to return Storage implementations based on locators. A // Pebble store that uses shared storage is configured with a StorageFactory. type StorageFactory interface { diff --git a/vendor/github.com/dgraph-io/badger/v4/db.go b/vendor/github.com/dgraph-io/badger/v4/db.go index d30ac6c3d4..c79fd02539 100644 --- a/vendor/github.com/dgraph-io/badger/v4/db.go +++ b/vendor/github.com/dgraph-io/badger/v4/db.go @@ -1617,7 +1617,7 @@ func (db *DB) Flatten(workers int) error { } } if len(levels) <= 1 { - prios := db.lc.pickCompactLevels() + prios := db.lc.pickCompactLevels(nil) if len(prios) == 0 || prios[0].score <= 1.0 { db.opt.Infof("All tables consolidated into one level. Flattening done.\n") return nil diff --git a/vendor/github.com/dgraph-io/badger/v4/levels.go b/vendor/github.com/dgraph-io/badger/v4/levels.go index 3e397e704e..6bbaf55cac 100644 --- a/vendor/github.com/dgraph-io/badger/v4/levels.go +++ b/vendor/github.com/dgraph-io/badger/v4/levels.go @@ -473,8 +473,13 @@ func (s *levelsController) runCompactor(id int, lc *z.Closer) { } return false } + + var priosBuffer []compactionPriority runOnce := func() bool { - prios := s.pickCompactLevels() + prios := s.pickCompactLevels(priosBuffer) + defer func() { + priosBuffer = prios + }() if id == 0 { // Worker ID zero prefers to compact L0 always. prios = moveL0toFront(prios) @@ -536,7 +541,9 @@ func (s *levelsController) lastLevel() *levelHandler { // pickCompactLevel determines which level to compact. // Based on: https://github.com/facebook/rocksdb/wiki/Leveled-Compaction -func (s *levelsController) pickCompactLevels() (prios []compactionPriority) { +// It tries to reuse priosBuffer to reduce memory allocation, +// passing nil is acceptable, then new memory will be allocated. +func (s *levelsController) pickCompactLevels(priosBuffer []compactionPriority) (prios []compactionPriority) { t := s.levelTargets() addPriority := func(level int, score float64) { pri := compactionPriority{ @@ -548,6 +555,12 @@ func (s *levelsController) pickCompactLevels() (prios []compactionPriority) { prios = append(prios, pri) } + // Grow buffer to fit all levels. + if cap(priosBuffer) < len(s.levels) { + priosBuffer = make([]compactionPriority, 0, len(s.levels)) + } + prios = priosBuffer[:0] + // Add L0 priority based on the number of tables. addPriority(0, float64(s.levels[0].numTables())/float64(s.kv.opt.NumLevelZeroTables)) @@ -1707,7 +1720,7 @@ type LevelInfo struct { func (s *levelsController) getLevelInfo() []LevelInfo { t := s.levelTargets() - prios := s.pickCompactLevels() + prios := s.pickCompactLevels(nil) result := make([]LevelInfo, len(s.levels)) for i, l := range s.levels { l.RLock() diff --git a/vendor/github.com/dgraph-io/badger/v4/txn.go b/vendor/github.com/dgraph-io/badger/v4/txn.go index 4a5fe476c4..691d4bc493 100644 --- a/vendor/github.com/dgraph-io/badger/v4/txn.go +++ b/vendor/github.com/dgraph-io/badger/v4/txn.go @@ -661,7 +661,9 @@ func (txn *Txn) Commit() error { // txn.conflictKeys can be zero if conflict detection is turned off. So we // should check txn.pendingWrites. if len(txn.pendingWrites) == 0 { - return nil // Nothing to do. + // Discard the transaction so that the read is marked done. + txn.Discard() + return nil } // Precheck before discarding txn. if err := txn.commitPrecheck(); err != nil { diff --git a/vendor/modules.txt b/vendor/modules.txt index 79c6f5940c..432baca85f 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -43,7 +43,7 @@ github.com/CortexFoundation/robot/backend # github.com/CortexFoundation/statik v0.0.0-20210315012922-8bb8a7b5dc66 ## explicit; go 1.16 github.com/CortexFoundation/statik -# github.com/CortexFoundation/torrentfs v1.0.55-0.20231012080528-65801dab46cf +# github.com/CortexFoundation/torrentfs v1.0.55-0.20231014161335-3e70e488e8b3 ## explicit; go 1.21 github.com/CortexFoundation/torrentfs github.com/CortexFoundation/torrentfs/backend @@ -342,7 +342,7 @@ github.com/cockroachdb/errors/withstack # github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b ## explicit; go 1.16 github.com/cockroachdb/logtags -# github.com/cockroachdb/pebble v0.0.0-20231011191824-ede31f1a8e4b +# github.com/cockroachdb/pebble v0.0.0-20231013194213-bbbf3df1d265 ## explicit; go 1.20 github.com/cockroachdb/pebble github.com/cockroachdb/pebble/bloom @@ -447,7 +447,7 @@ github.com/decred/dcrd/dcrec/secp256k1/v4/ecdsa ## explicit; go 1.14 github.com/deepmap/oapi-codegen/pkg/runtime github.com/deepmap/oapi-codegen/pkg/types -# github.com/dgraph-io/badger/v4 v4.2.1-0.20230929213516-27724c4dbe8e +# github.com/dgraph-io/badger/v4 v4.2.1-0.20231013074411-fb1b00959581 ## explicit; go 1.19 github.com/dgraph-io/badger/v4 github.com/dgraph-io/badger/v4/fb @@ -972,7 +972,7 @@ github.com/ucwong/filecache # github.com/ucwong/go-ttlmap v1.0.2-0.20221020173635-331e7ddde2bb ## explicit; go 1.19 github.com/ucwong/go-ttlmap -# github.com/ucwong/golang-kv v1.0.23-0.20231012064749-3f7aa3accb7c +# github.com/ucwong/golang-kv v1.0.23-0.20231014143841-1b5c490f26f1 ## explicit; go 1.21 github.com/ucwong/golang-kv github.com/ucwong/golang-kv/badger @@ -1080,7 +1080,7 @@ golang.org/x/mod/internal/lazyregexp golang.org/x/mod/modfile golang.org/x/mod/module golang.org/x/mod/semver -# golang.org/x/net v0.16.0 +# golang.org/x/net v0.17.0 ## explicit; go 1.17 golang.org/x/net/bpf golang.org/x/net/dns/dnsmessage