@@ -18,21 +18,30 @@ Used as a workaround for chain-upgrade issue: At the upgrade-block, the sdk will
1818closing dbs properly.
1919
2020Upgrade 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`
2224 2. Restart new version as normal
2325
2426
2527Example: Upgrading sifchain from v0.14.0 to v0.15.0
2628
2729# 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+ }
2936
3037# step1
3138git reset --hard
3239git checkout v0.14.0
3340go mod edit -replace github.com/tendermint/tm-db=github.com/baabeetaa/tm-db@pebble
3441go 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
3645
3746$HOME/go/bin/sifnoded start --db_backend=pebbledb
3847
5362)
5463
5564func 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 )
6066
6167 if ForceSync == "1" {
6268 isForceSync = true
@@ -72,7 +78,8 @@ var _ DB = (*PebbleDB)(nil)
7278
7379func NewPebbleDB (name string , dir string , opts Options ) (DB , error ) {
7480 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)
7683 MaxConcurrentCompactions : func () int { return 3 }, // default 1
7784 }
7885
@@ -232,7 +239,7 @@ func (db *PebbleDB) NewBatch() Batch {
232239
233240// NewBatchWithSize implements DB.
234241// 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 {
236243 return newPebbleDBBatch (db )
237244}
238245
@@ -276,7 +283,6 @@ func (db *PebbleDB) ReverseIterator(start, end []byte) (Iterator, error) {
276283var _ Batch = (* pebbleDBBatch )(nil )
277284
278285type pebbleDBBatch struct {
279- db * PebbleDB
280286 batch * pebble.Batch
281287}
282288
@@ -300,8 +306,7 @@ func (b *pebbleDBBatch) Set(key, value []byte) error {
300306 if b .batch == nil {
301307 return errBatchClosed
302308 }
303- b .batch .Set (key , value , nil )
304- return nil
309+ return b .batch .Set (key , value , nil )
305310}
306311
307312// Delete implements Batch.
@@ -313,8 +318,7 @@ func (b *pebbleDBBatch) Delete(key []byte) error {
313318 if b .batch == nil {
314319 return errBatchClosed
315320 }
316- b .batch .Delete (key , nil )
317- return nil
321+ return b .batch .Delete (key , nil )
318322}
319323
320324// Write implements Batch.
@@ -501,4 +505,4 @@ func (*fatalLogger) Fatalf(format string, args ...interface{}) {
501505 pebble .DefaultLogger .Fatalf (format , args ... )
502506}
503507
504- func (* fatalLogger ) Infof (format string , args ... interface {}) {}
508+ func (* fatalLogger ) Infof (_ string , _ ... interface {}) {}
0 commit comments