Skip to content

Commit 472674f

Browse files
authored
feat(pebble): support pinning FormatMajorVersion (#10789)
* Upgrade to pebble v2.0.3 - Configure latest pebble database format at init - Do not automatically ratchet database format if set in config - Daemon messge about new available pebble format - Document pebble config with formatMajorVersion - Add warning to users running badger, nudging them to switch to flatfs or pebble - docs: explain Pebble's `FormatMajorVersion` - Use pebbleds instead of badgerds in t0060-daemon.sh - Print badgerds warning message to stderr
1 parent a599737 commit 472674f

File tree

12 files changed

+154
-36
lines changed

12 files changed

+154
-36
lines changed

config/init.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"io"
88
"time"
99

10+
"github.com/cockroachdb/pebble/v2"
1011
"github.com/ipfs/kubo/core/coreiface/options"
1112
"github.com/libp2p/go-libp2p/core/crypto"
1213
"github.com/libp2p/go-libp2p/core/peer"
@@ -144,8 +145,9 @@ func pebbleSpec() map[string]interface{} {
144145
"type": "measure",
145146
"prefix": "pebble.datastore",
146147
"child": map[string]interface{}{
147-
"type": "pebbleds",
148-
"path": "pebbleds",
148+
"formatMajorVersion": int(pebble.FormatNewest),
149+
"type": "pebbleds",
150+
"path": "pebbleds",
149151
},
150152
}
151153
}

docs/changelogs/v0.35.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ This release was brought to you by the [Shipyard](http://ipshipyard.com/) team.
1919
- [Updated Configuration Profiles](#updated-configuration-profiles)
2020
- [Optimized, dedicated queue for providing fresh CIDs](#optimized-dedicated-queue-for-providing-fresh-cids)
2121
- [Deprecated `ipfs stats provider`](#deprecated-ipfs-stats-provider)
22+
- [Pebble Database Format Config](#pebble-database-format-config)
2223
- [📦️ Important dependency updates](#-important-dependency-updates)
2324
- [📝 Changelog](#-changelog)
2425
- [👨‍👩‍👧‍👦 Contributors](#-contributors)
@@ -113,10 +114,24 @@ but for reprovides only.
113114
> [!NOTE]
114115
> `ipfs stats provider` still works, but is marked as deprecated and will be removed in a future release. Be mindful that the command provides only statistics about reprovides (similar to `ipfs stats reprovide`) and not the new provide queue (this will be fixed as a part of wider refactor planned for a future release).
115116
117+
#### Pebble Database Format Config
118+
119+
This Kubo release provides node operators with more control over [Pebble's `FormatMajorVersion`](https://github.com/cockroachdb/pebble/tree/master?tab=readme-ov-file#format-major-versions). This allows testing a new Kubo release without automatically migrating Pebble datastores, keeping the ability to switch back to older Kubo.
120+
121+
When IPFS is initialized to use the pebbleds datastore (opt-in via `ipfs init --profile=pebbleds`), the latest pebble database format is configured in the pebble datastore config as `"formatMajorVersion"`. Setting this in the datastore config prevents automatically upgrading to the latest available version when Kubo is upgraded. If a later version becomes available, the Kubo daemon prints a startup message to indicate this. The user can them update the config to use the latest format when they are certain a downgrade will not be necessary.
122+
123+
Without the `"formatMajorVersion"` in the pebble datastore config, the database format is automatically upgraded to the latest version. If this happens, then it is possible a downgrade back to the previous version of Kubo will not work if new format is not compatible with the pebble datastore in the previous version of Kubo.
124+
125+
When installing a new version of Kubo when `"formatMajorVersion"` is configured, automatic repository migration (`ipfs daemon with --migrate=true`) does not upgrade this to the latest available version. This is done because a user may have reasons not to upgrade the pebble database format, and may want to be able to downgrade Kubo if something else is not working in the new version. If the configured pebble database format in the old Kubo is not supported in the new Kubo, then the configured version must be updated and the old Kubo run, before installing the new Kubo.
126+
127+
See other caveats and configuration options at [`kubo/docs/datastores.md#pebbleds`](https://github.com/ipfs/kubo/blob/master/docs/datastores.md#pebbleds)
128+
116129
#### 📦️ Important dependency updates
117130

118131
- update `boxo` to [v0.30.0](https://github.com/ipfs/boxo/releases/tag/v0.30.0)
119132
- update `ipfs-webui` to [v4.7.0](https://github.com/ipfs/ipfs-webui/releases/tag/v4.7.0)
133+
- update `go-ds-pebble` to [v0.5.0](https://github.com/ipfs/go-ds-pebble/releases/tag/v0.5.0)
134+
- update `pebble` to [v2.0.3](https://github.com/cockroachdb/pebble/releases/tag/v2.0.3)
120135

121136
### 📝 Changelog
122137

docs/datastores.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,6 @@ Uses a leveldb database to store key value pairs.
4646

4747
## pebbleds
4848

49-
> [!WARNING]
50-
> This is still **EXPERIMENTAL** opt-in. Datastore format can be set when first initializing the node via `ipfs init --profile pebbleds`.
51-
5249
Uses [pebble](https://github.com/cockroachdb/pebble) as a key value store.
5350

5451
```json
@@ -64,6 +61,7 @@ If they are not configured (or assigned their zero-valued), then default values
6461
* `bytesPerSync`: int, Sync sstables periodically in order to smooth out writes to disk. (default: 512KB)
6562
* `disableWAL`: true|false, Disable the write-ahead log (WAL) at expense of prohibiting crash recovery. (default: false)
6663
* `cacheSize`: Size of pebble's shared block cache. (default: 8MB)
64+
* `formatVersionMajor`: int, Sets the format of pebble on-disk files. If 0 or unset, automatically convert to latest format.
6765
* `l0CompactionThreshold`: int, Count of L0 files necessary to trigger an L0 compaction.
6866
* `l0StopWritesThreshold`: int, Limit on L0 read-amplification, computed as the number of L0 sublevels.
6967
* `lBaseMaxBytes`: int, Maximum number of bytes for LBase. The base level is the level which L0 is compacted into.
@@ -76,6 +74,20 @@ If they are not configured (or assigned their zero-valued), then default values
7674
> [!TIP]
7775
> Start using pebble with only default values and configure tuning items are needed for your needs. For a more complete description of these values, see: `https://pkg.go.dev/github.com/cockroachdb/[email protected]#Options` (where `A.B.C` is pebble version from Kubo's `go.mod`).
7876
77+
Using a pebble datastore can be set when initializing kubo `ipfs init --profile pebbleds`.
78+
79+
#### Use of `formatMajorVersion`
80+
81+
[Pebble's `FormatMajorVersion`](https://github.com/cockroachdb/pebble/tree/master?tab=readme-ov-file#format-major-versions) is a constant controlling the format of persisted data. Backwards incompatible changes to durable formats are gated behind new format major versions.
82+
83+
At any point, a database's format major version may be bumped. However, once a database's format major version is increased, previous versions of Pebble will refuse to open the database.
84+
85+
When IPFS is initialized to use the pebbleds datastore (`ipfs init --profile=pebbleds`), the latest pebble database format is configured in the pebble datastore config as `"formatMajorVersion"`. Setting this in the datastore config prevents automatically upgrading to the latest available version when kubo is upgraded. If a later version becomes available, the kubo daemon prints a startup message to indicate this. The user can them update the config to use the latest format when they are certain a downgrade will not be necessary.
86+
87+
Without the `"formatMajorVersion"` in the pebble datastore config, the database format is automatically upgraded to the latest version. If this happens, then it is possible a downgrade back to the previous version of kubo will not work if new format is not compatible with the pebble datastore in the previous version of kubo.
88+
89+
When installing a new version of kubo when `"formatMajorVersion"` is configured, migration does not upgrade this to the latest available version. This is done because a user may have reasons not to upgrade the pebble database format, and may want to be able to downgrade kubo if something else is not working in the new version. If the configured pebble database format in the old kubo is not supported in the new kubo, then the configured version must be updated and the old kubo run, before installing the new kubo.
90+
7991
## badgerds
8092

8193
Uses [badger](https://github.com/dgraph-io/badger) as a key value store.

docs/examples/kubo-as-a-library/go.mod

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ require (
1616
require (
1717
bazil.org/fuse v0.0.0-20200117225306-7b5117fecadc // indirect
1818
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 // indirect
19-
github.com/DataDog/zstd v1.4.5 // indirect
19+
github.com/DataDog/zstd v1.5.6-0.20230824185856-869dae002e5e // indirect
2020
github.com/Jorropo/jsync v1.0.1 // indirect
2121
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect
2222
github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5 // indirect
@@ -28,11 +28,13 @@ require (
2828
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
2929
github.com/ceramicnetwork/go-dag-jose v0.1.1 // indirect
3030
github.com/cespare/xxhash/v2 v2.3.0 // indirect
31+
github.com/cockroachdb/crlib v0.0.0-20241015224233-894974b3ad94 // indirect
3132
github.com/cockroachdb/errors v1.11.3 // indirect
3233
github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect
3334
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
34-
github.com/cockroachdb/pebble v1.1.4 // indirect
35+
github.com/cockroachdb/pebble/v2 v2.0.3 // indirect
3536
github.com/cockroachdb/redact v1.1.5 // indirect
37+
github.com/cockroachdb/swiss v0.0.0-20250327203710-2932b022f6df // indirect
3638
github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
3739
github.com/containerd/cgroups v1.1.0 // indirect
3840
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
@@ -63,7 +65,7 @@ require (
6365
github.com/gogo/protobuf v1.3.2 // indirect
6466
github.com/golang/glog v1.2.4 // indirect
6567
github.com/golang/protobuf v1.5.4 // indirect
66-
github.com/golang/snappy v0.0.4 // indirect
68+
github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e // indirect
6769
github.com/google/gopacket v1.1.19 // indirect
6870
github.com/google/pprof v0.0.0-20250208200701-d0013a598941 // indirect
6971
github.com/google/uuid v1.6.0 // indirect
@@ -85,7 +87,7 @@ require (
8587
github.com/ipfs/go-ds-flatfs v0.5.5 // indirect
8688
github.com/ipfs/go-ds-leveldb v0.5.2 // indirect
8789
github.com/ipfs/go-ds-measure v0.2.2 // indirect
88-
github.com/ipfs/go-ds-pebble v0.4.4 // indirect
90+
github.com/ipfs/go-ds-pebble v0.5.0 // indirect
8991
github.com/ipfs/go-fs-lock v0.0.7 // indirect
9092
github.com/ipfs/go-ipfs-blockstore v1.3.1 // indirect
9193
github.com/ipfs/go-ipfs-delay v0.0.1 // indirect

docs/examples/kubo-as-a-library/go.sum

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,13 @@ github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIo
2929
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
3030
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
3131
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
32-
github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ=
33-
github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=
32+
github.com/DataDog/zstd v1.5.6-0.20230824185856-869dae002e5e h1:ZIWapoIRN1VqT8GR8jAwb1Ie9GyehWjVcGh32Y2MznE=
33+
github.com/DataDog/zstd v1.5.6-0.20230824185856-869dae002e5e/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw=
3434
github.com/Jorropo/jsync v1.0.1 h1:6HgRolFZnsdfzRUj+ImB9og1JYOxQoReSywkHOGSaUU=
3535
github.com/Jorropo/jsync v1.0.1/go.mod h1:jCOZj3vrBCri3bSU3ErUYvevKlnbssrXeCivybS5ABQ=
3636
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
37+
github.com/aclements/go-perfevent v0.0.0-20240301234650-f7843625020f h1:JjxwchlOepwsUWcQwD2mLUAGE9aCp0/ehy6yCHFBOvo=
38+
github.com/aclements/go-perfevent v0.0.0-20240301234650-f7843625020f/go.mod h1:tMDTce/yLLN/SK8gMOxQfnyeMeCg8KGzp0D1cbECEeo=
3739
github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=
3840
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0=
3941
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs=
@@ -80,18 +82,24 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn
8082
github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs=
8183
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
8284
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
83-
github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f h1:otljaYPt5hWxV3MUfO5dFPFiOXg9CyG5/kCfayTqsJ4=
84-
github.com/cockroachdb/datadriven v1.0.3-0.20230413201302-be42291fc80f/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU=
85+
github.com/cockroachdb/crlib v0.0.0-20241015224233-894974b3ad94 h1:bvJv505UUfjzbaIPdNS4AEkHreDqQk6yuNpsdRHpwFA=
86+
github.com/cockroachdb/crlib v0.0.0-20241015224233-894974b3ad94/go.mod h1:Gq51ZeKaFCXk6QwuGM0w1dnaOqc/F5zKT2zA9D6Xeac=
87+
github.com/cockroachdb/datadriven v1.0.3-0.20240530155848-7682d40af056 h1:slXychO2uDM6hYRu4c0pD0udNI8uObfeKN6UInWViS8=
88+
github.com/cockroachdb/datadriven v1.0.3-0.20240530155848-7682d40af056/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU=
8589
github.com/cockroachdb/errors v1.11.3 h1:5bA+k2Y6r+oz/6Z/RFlNeVCesGARKuC6YymtcDrbC/I=
8690
github.com/cockroachdb/errors v1.11.3/go.mod h1:m4UIW4CDjx+R5cybPsNrRbreomiFqt8o1h1wUVazSd8=
8791
github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce h1:giXvy4KSc/6g/esnpM7Geqxka4WSqI1SZc7sMJFd3y4=
8892
github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce/go.mod h1:9/y3cnZ5GKakj/H4y9r9GTjCvAFta7KLgSHPJJYc52M=
8993
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b h1:r6VH0faHjZeQy818SGhaone5OnYfxFR/+AzdY3sf5aE=
9094
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs=
91-
github.com/cockroachdb/pebble v1.1.4 h1:5II1uEP4MyHLDnsrbv/EZ36arcb9Mxg3n+owhZ3GrG8=
92-
github.com/cockroachdb/pebble v1.1.4/go.mod h1:4exszw1r40423ZsmkG/09AFEG83I0uDgfujJdbL6kYU=
95+
github.com/cockroachdb/metamorphic v0.0.0-20231108215700-4ba948b56895 h1:XANOgPYtvELQ/h4IrmPAohXqe2pWA8Bwhejr3VQoZsA=
96+
github.com/cockroachdb/metamorphic v0.0.0-20231108215700-4ba948b56895/go.mod h1:aPd7gM9ov9M8v32Yy5NJrDyOcD8z642dqs+F0CeNXfA=
97+
github.com/cockroachdb/pebble/v2 v2.0.3 h1:YJ3Sc9jRN/q6OOCNyRHPbcpenbxL1DdgdpUqPlPus6o=
98+
github.com/cockroachdb/pebble/v2 v2.0.3/go.mod h1:NgxgNcWwyG/uxkLUZGM2aelshaLIZvc0hCX7SCfaO8s=
9399
github.com/cockroachdb/redact v1.1.5 h1:u1PMllDkdFfPWaNGMyLD1+so+aq3uUItthCFqzwPJ30=
94100
github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
101+
github.com/cockroachdb/swiss v0.0.0-20250327203710-2932b022f6df h1:GUJ4KuZtbOcIfRlprHJFFvIqQ4irtQUl+1fJr+yNmPI=
102+
github.com/cockroachdb/swiss v0.0.0-20250327203710-2932b022f6df/go.mod h1:yBRu/cnL4ks9bgy4vAASdjIW+/xMlFwuHKqtmh3GZQg=
95103
github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo=
96104
github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ=
97105
github.com/containerd/cgroups v0.0.0-20201119153540-4cbc285b3327/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE=
@@ -172,6 +180,8 @@ github.com/gammazero/deque v1.0.0 h1:LTmimT8H7bXkkCy6gZX7zNLtkbz4NdS2z8LZuor3j34
172180
github.com/gammazero/deque v1.0.0/go.mod h1:iflpYvtGfM3U8S8j+sZEKIak3SAKYpA5/SQewgfXDKo=
173181
github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps=
174182
github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY=
183+
github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9 h1:r5GgOLGbza2wVHRzK7aAj6lWZjfbAwiu/RDCVOKjRyM=
184+
github.com/ghemawat/stream v0.0.0-20171120220530-696b145b53b9/go.mod h1:106OIgooyS7OzLDOpUGgm9fA3bQENb/cFSyyBmMoJDs=
175185
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
176186
github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
177187
github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98=
@@ -231,8 +241,9 @@ github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu
231241
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
232242
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
233243
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
234-
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
235244
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
245+
github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e h1:4bw4WeyTYPp0smaXiJZCNnLrvVBqirQVreixayXezGc=
246+
github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
236247
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
237248
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
238249
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
@@ -332,8 +343,8 @@ github.com/ipfs/go-ds-leveldb v0.5.2 h1:6nmxlQ2zbp4LCNdJVsmHfs9GP0eylfBNxpmY1csp
332343
github.com/ipfs/go-ds-leveldb v0.5.2/go.mod h1:2fAwmcvD3WoRT72PzEekHBkQmBDhc39DJGoREiuGmYo=
333344
github.com/ipfs/go-ds-measure v0.2.2 h1:4kwvBGbbSXNYe4ANlg7qTIYoZU6mNlqzQHdVqICkqGI=
334345
github.com/ipfs/go-ds-measure v0.2.2/go.mod h1:b/87ak0jMgH9Ylt7oH0+XGy4P8jHx9KG09Qz+pOeTIs=
335-
github.com/ipfs/go-ds-pebble v0.4.4 h1:V/QlTCjQ4cTYQUvDRbDBKVZNYaMi4QV7Du4acPoRvg0=
336-
github.com/ipfs/go-ds-pebble v0.4.4/go.mod h1:a4F6QyaamnD/MsgQH1KpYf5s0YvPODw6eOk9PBhLQMg=
346+
github.com/ipfs/go-ds-pebble v0.5.0 h1:lXffYCAKVD7nLLPqwJ9D8IxgO7Kz8woiX021tezdsIM=
347+
github.com/ipfs/go-ds-pebble v0.5.0/go.mod h1:aiCRVcj3K60sxc6k5C+HO9C6rouqiSkjR/WKnbTcMfQ=
337348
github.com/ipfs/go-fs-lock v0.0.7 h1:6BR3dajORFrFTkb5EpCUFIAypsoxpGpDSVUdFwzgL9U=
338349
github.com/ipfs/go-fs-lock v0.0.7/go.mod h1:Js8ka+FNYmgQRLrRXzU3CB/+Csr1BwrRilEcvYrHhhc=
339350
github.com/ipfs/go-ipfs-blockstore v1.3.1 h1:cEI9ci7V0sRNivqaOr0elDsamxXFxJMMMy7PTTDQNsQ=

go.mod

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ require (
1010
github.com/cenkalti/backoff/v4 v4.3.0
1111
github.com/ceramicnetwork/go-dag-jose v0.1.1
1212
github.com/cheggaaa/pb v1.0.29
13-
github.com/cockroachdb/pebble v1.1.4
13+
github.com/cockroachdb/pebble/v2 v2.0.3
1414
github.com/coreos/go-systemd/v22 v22.5.0
1515
github.com/dustin/go-humanize v1.0.1
1616
github.com/elgris/jsondiff v0.0.0-20160530203242-765b5c24c302
@@ -31,7 +31,7 @@ require (
3131
github.com/ipfs/go-ds-flatfs v0.5.5
3232
github.com/ipfs/go-ds-leveldb v0.5.2
3333
github.com/ipfs/go-ds-measure v0.2.2
34-
github.com/ipfs/go-ds-pebble v0.4.4
34+
github.com/ipfs/go-ds-pebble v0.5.0
3535
github.com/ipfs/go-fs-lock v0.0.7
3636
github.com/ipfs/go-ipfs-cmds v0.14.1
3737
github.com/ipfs/go-ipld-cbor v0.2.0
@@ -97,18 +97,20 @@ require (
9797

9898
require (
9999
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 // indirect
100-
github.com/DataDog/zstd v1.4.5 // indirect
100+
github.com/DataDog/zstd v1.5.6-0.20230824185856-869dae002e5e // indirect
101101
github.com/Jorropo/jsync v1.0.1 // indirect
102102
github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // indirect
103103
github.com/alexbrainman/goissue34681 v0.0.0-20191006012335-3fc7a47baff5 // indirect
104104
github.com/benbjohnson/clock v1.3.5 // indirect
105105
github.com/beorn7/perks v1.0.1 // indirect
106106
github.com/caddyserver/zerossl v0.1.3 // indirect
107107
github.com/cespare/xxhash/v2 v2.3.0 // indirect
108+
github.com/cockroachdb/crlib v0.0.0-20241015224233-894974b3ad94 // indirect
108109
github.com/cockroachdb/errors v1.11.3 // indirect
109110
github.com/cockroachdb/fifo v0.0.0-20240606204812-0bbfbd93a7ce // indirect
110111
github.com/cockroachdb/logtags v0.0.0-20230118201751-21c54148d20b // indirect
111112
github.com/cockroachdb/redact v1.1.5 // indirect
113+
github.com/cockroachdb/swiss v0.0.0-20250327203710-2932b022f6df // indirect
112114
github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect
113115
github.com/containerd/cgroups v1.1.0 // indirect
114116
github.com/crackcomm/go-gitignore v0.0.0-20241020182519-7843d2ba8fdf // indirect
@@ -139,7 +141,7 @@ require (
139141
github.com/golang/glog v1.2.4 // indirect
140142
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
141143
github.com/golang/protobuf v1.5.4 // indirect
142-
github.com/golang/snappy v0.0.4 // indirect
144+
github.com/golang/snappy v0.0.5-0.20231225225746-43d5d4cd4e0e // indirect
143145
github.com/google/gopacket v1.1.19 // indirect
144146
github.com/google/pprof v0.0.0-20250208200701-d0013a598941 // indirect
145147
github.com/gorilla/mux v1.8.1 // indirect

0 commit comments

Comments
 (0)