@@ -18,21 +18,30 @@ Used as a workaround for chain-upgrade issue: At the upgrade-block, the sdk will
18
18
closing dbs properly.
19
19
20
20
Upgrade guide:
21
- 1. After seeing `UPGRADE "xxxx" NEED at height....`, restart current version with `-X github.com/tendermint/tm-db.ForceSync=1`
21
+ 1. After seeing `UPGRADE "xxxx" NEED at height....`,
22
+ restart current version with
23
+ `-X github.com/tendermint/tm-db.ForceSync=1`
22
24
2. Restart new version as normal
23
25
24
26
25
27
Example: Upgrading sifchain from v0.14.0 to v0.15.0
26
28
27
29
# log:
28
- panic: UPGRADE "0.15.0" NEEDED at height: 8170210: {"binaries":{"linux/amd64":"https://github.com/Sifchain/sifnode/releases/download/v0.15.0/sifnoded-v0.15.0-linux-amd64.zip?checksum=0c03b5846c5a13dcc0d9d3127e4f0cee0aeddcf2165177b2f2e0d60dbcf1a5ea"}}
30
+ panic: UPGRADE "0.15.0" NEEDED at height: 8170210: {
31
+ "binaries": {
32
+ "linux/amd64": "https://github.com/Sifchain/sifnode/releases/download/v0.15.0/" +
33
+ "sifnoded-v0.15.0-linux-amd64.zip?checksum=0c03b5846c5a13dcc0d9d3127e4f0cee0aeddcf2165177b2f2e0d60dbcf1a5ea"
34
+ }
35
+ }
29
36
30
37
# step1
31
38
git reset --hard
32
39
git checkout v0.14.0
33
40
go mod edit -replace github.com/tendermint/tm-db=github.com/baabeetaa/tm-db@pebble
34
41
go mod tidy
35
- go install -ldflags "-w -s -X github.com/cosmos/cosmos-sdk/types.DBBackend=pebbledb -X github.com/tendermint/tm-db.ForceSync=1" ./cmd/sifnoded
42
+ go install -ldflags "-w -s \
43
+ -X github.com/cosmos/cosmos-sdk/types.DBBackend=pebbledb \
44
+ -X github.com/tendermint/tm-db.ForceSync=1" ./cmd/sifnoded
36
45
37
46
$HOME/go/bin/sifnoded start --db_backend=pebbledb
38
47
53
62
)
54
63
55
64
func init () {
56
- dbCreator := func (name string , dir string , opts Options ) (DB , error ) {
57
- return NewPebbleDB (name , dir , opts )
58
- }
59
- registerDBCreator (PebbleDBBackend , dbCreator , false )
65
+ registerDBCreator (PebbleDBBackend , NewPebbleDB , false )
60
66
61
67
if ForceSync == "1" {
62
68
isForceSync = true
@@ -72,7 +78,8 @@ var _ DB = (*PebbleDB)(nil)
72
78
73
79
func NewPebbleDB (name string , dir string , opts Options ) (DB , error ) {
74
80
do := & pebble.Options {
75
- Logger : & fatalLogger {}, // pebble info logs are messing up the logs (not a cosmossdk.io/log logger)
81
+ Logger : & fatalLogger {}, // pebble info logs are messing up the logs
82
+ // (not a cosmossdk.io/log logger)
76
83
MaxConcurrentCompactions : func () int { return 3 }, // default 1
77
84
}
78
85
@@ -232,7 +239,7 @@ func (db *PebbleDB) NewBatch() Batch {
232
239
233
240
// NewBatchWithSize implements DB.
234
241
// It does the same thing as NewBatch because we can't pre-allocate pebbleDBBatch
235
- func (db * PebbleDB ) NewBatchWithSize (size int ) Batch {
242
+ func (db * PebbleDB ) NewBatchWithSize (_ int ) Batch {
236
243
return newPebbleDBBatch (db )
237
244
}
238
245
@@ -276,7 +283,6 @@ func (db *PebbleDB) ReverseIterator(start, end []byte) (Iterator, error) {
276
283
var _ Batch = (* pebbleDBBatch )(nil )
277
284
278
285
type pebbleDBBatch struct {
279
- db * PebbleDB
280
286
batch * pebble.Batch
281
287
}
282
288
@@ -300,8 +306,7 @@ func (b *pebbleDBBatch) Set(key, value []byte) error {
300
306
if b .batch == nil {
301
307
return errBatchClosed
302
308
}
303
- b .batch .Set (key , value , nil )
304
- return nil
309
+ return b .batch .Set (key , value , nil )
305
310
}
306
311
307
312
// Delete implements Batch.
@@ -313,8 +318,7 @@ func (b *pebbleDBBatch) Delete(key []byte) error {
313
318
if b .batch == nil {
314
319
return errBatchClosed
315
320
}
316
- b .batch .Delete (key , nil )
317
- return nil
321
+ return b .batch .Delete (key , nil )
318
322
}
319
323
320
324
// Write implements Batch.
@@ -501,4 +505,4 @@ func (*fatalLogger) Fatalf(format string, args ...interface{}) {
501
505
pebble .DefaultLogger .Fatalf (format , args ... )
502
506
}
503
507
504
- func (* fatalLogger ) Infof (format string , args ... interface {}) {}
508
+ func (* fatalLogger ) Infof (_ string , _ ... interface {}) {}
0 commit comments