Skip to content

Commit a53a674

Browse files
tac0turtlemergify[bot]
authored andcommitted
refactor: add logger (#735)
(cherry picked from commit 85a123c) # Conflicts: # export_test.go # go.mod # go.sum # internal/logger/logger.go
1 parent 6553fd6 commit a53a674

21 files changed

Lines changed: 196 additions & 137 deletions

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
### Breaking Changes
1010

11+
- [#735](https://github.com/cosmos/iavl/pull/735) Pass logger to `NodeDB`, `MutableTree` and `ImmutableTree`
12+
1113
- [#646](https://github.com/cosmos/iavl/pull/646) Remove the `orphans` from the storage
1214

1315
### API Changes

basic_test.go

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

10+
"cosmossdk.io/log"
1011
db "github.com/cosmos/cosmos-db"
1112
iavlrand "github.com/cosmos/iavl/internal/rand"
1213
"github.com/stretchr/testify/assert"
@@ -445,15 +446,15 @@ func TestPersistence(t *testing.T) {
445446
}
446447

447448
// Construct some tree and save it
448-
t1, err := NewMutableTree(db, 0, false)
449+
t1, err := NewMutableTree(db, 0, false, log.NewNopLogger())
449450
require.NoError(t, err)
450451
for key, value := range records {
451452
t1.Set([]byte(key), []byte(value))
452453
}
453454
t1.SaveVersion()
454455

455456
// Load a tree
456-
t2, err := NewMutableTree(db, 0, false)
457+
t2, err := NewMutableTree(db, 0, false, log.NewNopLogger())
457458
require.NoError(t, err)
458459
t2.Load()
459460
for key, value := range records {
@@ -503,7 +504,7 @@ func TestProof(t *testing.T) {
503504

504505
func TestTreeProof(t *testing.T) {
505506
db := db.NewMemDB()
506-
tree, err := NewMutableTree(db, 100, false)
507+
tree, err := NewMutableTree(db, 100, false, log.NewNopLogger())
507508
require.NoError(t, err)
508509
hash, err := tree.Hash()
509510
require.NoError(t, err)

benchmarks/bench_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"strings"
99
"testing"
1010

11+
"cosmossdk.io/log"
1112
"github.com/stretchr/testify/require"
1213

1314
db "github.com/cosmos/cosmos-db"
@@ -25,7 +26,7 @@ func randBytes(length int) []byte {
2526
}
2627

2728
func prepareTree(b *testing.B, db db.DB, size, keyLen, dataLen int) (*iavl.MutableTree, [][]byte) {
28-
t, err := iavl.NewMutableTreeWithOpts(db, size, nil, false)
29+
t, err := iavl.NewMutableTreeWithOpts(db, size, nil, false, log.NewNopLogger())
2930
require.NoError(b, err)
3031
keys := make([][]byte, size)
3132

benchmarks/cosmos-exim/main.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"os"
66
"time"
77

8+
"cosmossdk.io/log"
89
tmdb "github.com/cosmos/cosmos-db"
910
"github.com/cosmos/iavl"
1011
)
@@ -90,7 +91,7 @@ func runExport(dbPath string) (int64, map[string][]*iavl.ExportNode, error) {
9091
if err != nil {
9192
return 0, nil, err
9293
}
93-
tree, err := iavl.NewMutableTree(tmdb.NewPrefixDB(ldb, []byte("s/k:main/")), 0, false)
94+
tree, err := iavl.NewMutableTree(tmdb.NewPrefixDB(ldb, []byte("s/k:main/")), 0, false, log.NewNopLogger())
9495
if err != nil {
9596
return 0, nil, err
9697
}
@@ -105,7 +106,7 @@ func runExport(dbPath string) (int64, map[string][]*iavl.ExportNode, error) {
105106
totalStats := Stats{}
106107
for _, name := range stores {
107108
db := tmdb.NewPrefixDB(ldb, []byte("s/k:"+name+"/"))
108-
tree, err := iavl.NewMutableTree(db, 0, false)
109+
tree, err := iavl.NewMutableTree(db, 0, false, log.NewNopLogger())
109110
if err != nil {
110111
return 0, nil, err
111112
}
@@ -173,7 +174,7 @@ func runImport(version int64, exports map[string][]*iavl.ExportNode) error {
173174
if err != nil {
174175
return err
175176
}
176-
newTree, err := iavl.NewMutableTree(newDB, 0, false)
177+
newTree, err := iavl.NewMutableTree(newDB, 0, false, log.NewNopLogger())
177178
if err != nil {
178179
return err
179180
}

cmd/iaviewer/main.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"strconv"
1111
"strings"
1212

13+
"cosmossdk.io/log"
1314
dbm "github.com/cosmos/cosmos-db"
1415

1516
"github.com/cosmos/iavl"
@@ -126,7 +127,7 @@ func ReadTree(dir string, version int, prefix []byte) (*iavl.MutableTree, error)
126127
db = dbm.NewPrefixDB(db, prefix)
127128
}
128129

129-
tree, err := iavl.NewMutableTree(db, DefaultCacheSize, false)
130+
tree, err := iavl.NewMutableTree(db, DefaultCacheSize, false, log.NewLogger(os.Stdout))
130131
if err != nil {
131132
return nil, err
132133
}

diff_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"sort"
99
"testing"
1010

11+
"cosmossdk.io/log"
1112
db "github.com/cosmos/cosmos-db"
1213
"github.com/stretchr/testify/require"
1314
)
@@ -19,7 +20,7 @@ func TestDiffRoundTrip(t *testing.T) {
1920

2021
// apply changeSets to tree
2122
db := db.NewMemDB()
22-
tree, err := NewMutableTree(db, 0, true)
23+
tree, err := NewMutableTree(db, 0, true, log.NewNopLogger())
2324
require.NoError(t, err)
2425
for i := range changeSets {
2526
v, err := tree.SaveChangeSet(changeSets[i])
@@ -29,7 +30,7 @@ func TestDiffRoundTrip(t *testing.T) {
2930

3031
// extract change sets from db
3132
var extractChangeSets []*ChangeSet
32-
tree2 := NewImmutableTree(db, 0, true)
33+
tree2 := NewImmutableTree(db, 0, true, log.NewNopLogger())
3334
err = tree2.TraverseStateChanges(0, math.MaxInt64, func(version int64, changeSet *ChangeSet) error {
3435
extractChangeSets = append(extractChangeSets, changeSet)
3536
return nil

export_test.go

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"math/rand"
66
"testing"
77

8+
"cosmossdk.io/log"
89
"github.com/stretchr/testify/assert"
910
"github.com/stretchr/testify/require"
1011

@@ -14,7 +15,7 @@ import (
1415
// setupExportTreeBasic sets up a basic tree with a handful of
1516
// create/update/delete operations over a few versions.
1617
func setupExportTreeBasic(t require.TestingT) *ImmutableTree {
17-
tree, err := NewMutableTree(db.NewMemDB(), 0, false)
18+
tree, err := NewMutableTree(db.NewMemDB(), 0, false, log.NewNopLogger())
1819
require.NoError(t, err)
1920

2021
_, err = tree.Set([]byte("x"), []byte{255})
@@ -72,7 +73,7 @@ func setupExportTreeRandom(t *testing.T) *ImmutableTree {
7273
)
7374

7475
r := rand.New(rand.NewSource(randSeed))
75-
tree, err := NewMutableTree(db.NewMemDB(), 0, false)
76+
tree, err := NewMutableTree(db.NewMemDB(), 0, false, log.NewNopLogger())
7677
require.NoError(t, err)
7778

7879
var version int64
@@ -132,7 +133,7 @@ func setupExportTreeSized(t require.TestingT, treeSize int) *ImmutableTree { //n
132133
)
133134

134135
r := rand.New(rand.NewSource(randSeed))
135-
tree, err := NewMutableTree(db.NewMemDB(), 0, false)
136+
tree, err := NewMutableTree(db.NewMemDB(), 0, false, log.NewNopLogger())
136137
require.NoError(t, err)
137138

138139
for i := 0; i < treeSize; i++ {
@@ -190,7 +191,7 @@ func TestExporter(t *testing.T) {
190191

191192
func TestExporter_Import(t *testing.T) {
192193
testcases := map[string]*ImmutableTree{
193-
"empty tree": NewImmutableTree(db.NewMemDB(), 0, false),
194+
"empty tree": NewImmutableTree(db.NewMemDB(), 0, false, log.NewNopLogger()),
194195
"basic tree": setupExportTreeBasic(t),
195196
}
196197
if !testing.Short() {
@@ -237,7 +238,18 @@ func TestExporter_Import(t *testing.T) {
237238
tree.Iterate(func(key, value []byte) bool { //nolint:errcheck
238239
index, _, err := tree.GetWithIndex(key)
239240
require.NoError(t, err)
241+
<<<<<<< HEAD
240242
newIndex, newValue, err := newTree.GetWithIndex(key)
243+
=======
244+
defer innerExporter.Close()
245+
246+
exporter := NodeExporter(innerExporter)
247+
if compress {
248+
exporter = NewCompressExporter(innerExporter)
249+
}
250+
251+
newTree, err := NewMutableTree(db.NewMemDB(), 0, false, log.NewNopLogger())
252+
>>>>>>> 85a123c (refactor: add logger (#735))
241253
require.NoError(t, err)
242254
require.Equal(t, index, newIndex, "Index mismatch for key %v", key)
243255
require.Equal(t, value, newValue, "Value mismatch for key %v", key)
@@ -272,7 +284,7 @@ func TestExporter_Close(t *testing.T) {
272284
}
273285

274286
func TestExporter_DeleteVersionErrors(t *testing.T) {
275-
tree, err := NewMutableTree(db.NewMemDB(), 0, false)
287+
tree, err := NewMutableTree(db.NewMemDB(), 0, false, log.NewNopLogger())
276288
require.NoError(t, err)
277289

278290
_, err = tree.Set([]byte("a"), []byte{1})

go.mod

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,19 @@ module github.com/cosmos/iavl
33
go 1.18
44

55
require (
6+
cosmossdk.io/log v1.0.0
67
github.com/cosmos/cosmos-db v1.0.0-rc.1
78
github.com/cosmos/ics23/go v0.9.1-0.20221207100636-b1abd8678aab
89
github.com/emicklei/dot v1.4.2
910
github.com/golang/mock v1.6.0
1011
github.com/golangci/golangci-lint v1.52.2
1112
github.com/stretchr/testify v1.8.2
13+
<<<<<<< HEAD
1214
golang.org/x/crypto v0.7.0
15+
=======
16+
golang.org/x/crypto v0.8.0
17+
google.golang.org/protobuf v1.28.1
18+
>>>>>>> 85a123c (refactor: add logger (#735))
1319
)
1420

1521
require (
@@ -116,7 +122,7 @@ require (
116122
github.com/maratori/testpackage v1.1.1 // indirect
117123
github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26 // indirect
118124
github.com/mattn/go-colorable v0.1.13 // indirect
119-
github.com/mattn/go-isatty v0.0.17 // indirect
125+
github.com/mattn/go-isatty v0.0.18 // indirect
120126
github.com/mattn/go-runewidth v0.0.9 // indirect
121127
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
122128
github.com/mbilski/exhaustivestruct v1.2.0 // indirect
@@ -144,6 +150,7 @@ require (
144150
github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 // indirect
145151
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
146152
github.com/rogpeppe/go-internal v1.9.0 // indirect
153+
github.com/rs/zerolog v1.29.0 // indirect
147154
github.com/ryancurrah/gomodguard v1.3.0 // indirect
148155
github.com/ryanrolds/sqlclosecheck v0.4.0 // indirect
149156
github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect
@@ -192,7 +199,6 @@ require (
192199
golang.org/x/text v0.8.0 // indirect
193200
golang.org/x/tools v0.7.0 // indirect
194201
gonum.org/v1/gonum v0.11.0 // indirect
195-
google.golang.org/protobuf v1.28.1 // indirect
196202
gopkg.in/ini.v1 v1.67.0 // indirect
197203
gopkg.in/yaml.v2 v2.4.0 // indirect
198204
gopkg.in/yaml.v3 v3.0.1 // indirect

go.sum

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl
3939
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
4040
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
4141
cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
42+
cosmossdk.io/log v1.0.0 h1:NGKZ/A5rd4PduDfoscgABklX557PWjQINbosZy/m3Jk=
43+
cosmossdk.io/log v1.0.0/go.mod h1:CwX9BLiBruZb7lzLlRr3R231d/fVPUXk8gAdV4LQap0=
4244
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
4345
github.com/Abirdcfly/dupword v0.0.11 h1:z6v8rMETchZXUIuHxYNmlUAuKuB21PeaSymTed16wgU=
4446
github.com/Abirdcfly/dupword v0.0.11/go.mod h1:wH8mVGuf3CP5fsBTkfWwwwKTjDnVVCxtU8d8rgeVYXA=
@@ -133,6 +135,7 @@ github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcju
133135
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
134136
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
135137
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
138+
github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
136139
github.com/cosmos/cosmos-db v1.0.0-rc.1 h1:SjnT8B6WKMW9WEIX32qMhnEEKcI7ZP0+G1Sa9HD3nmY=
137140
github.com/cosmos/cosmos-db v1.0.0-rc.1/go.mod h1:Dnmk3flSf5lkwCqvvjNpoxjpXzhxnCAFzKHlbaForso=
138141
github.com/cosmos/gogoproto v1.4.3 h1:RP3yyVREh9snv/lsOvmsAPQt8f44LgL281X0IOIhhcI=
@@ -233,6 +236,7 @@ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJA
233236
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
234237
github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
235238
github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM=
239+
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
236240
github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
237241
github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
238242
github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
@@ -462,14 +466,16 @@ github.com/matoous/godox v0.0.0-20230222163458-006bad1f9d26/go.mod h1:1BELzlh859
462466
github.com/matryer/is v1.4.0 h1:sosSmIWwkYITGrxZ25ULNDeKiMNzFSr4V/eqBQP0PeE=
463467
github.com/matryer/is v1.4.0/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
464468
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
469+
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
465470
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
466471
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
467472
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
468473
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
469474
github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
475+
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
470476
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
471-
github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
472-
github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
477+
github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98=
478+
github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
473479
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
474480
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
475481
github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
@@ -584,6 +590,9 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
584590
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
585591
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
586592
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
593+
github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
594+
github.com/rs/zerolog v1.29.0 h1:Zes4hju04hjbvkVkOhdl2HpZa+0PmVwigmo8XoORE5w=
595+
github.com/rs/zerolog v1.29.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0=
587596
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
588597
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
589598
github.com/ryancurrah/gomodguard v1.3.0 h1:q15RT/pd6UggBXVBuLps8BXRvl5GPBcwVA7BJHMLuTw=
@@ -928,7 +937,9 @@ golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7w
928937
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
929938
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
930939
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
940+
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
931941
golang.org/x/sys v0.0.0-20210909193231-528a39cd75f3/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
942+
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
932943
golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
933944
golang.org/x/sys v0.0.0-20211105183446-c75c47738b0c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
934945
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -944,8 +955,14 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
944955
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
945956
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
946957
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
958+
<<<<<<< HEAD
947959
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
948960
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
961+
=======
962+
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
963+
golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
964+
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
965+
>>>>>>> 85a123c (refactor: add logger (#735))
949966
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
950967
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
951968
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -1179,6 +1196,7 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C
11791196
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
11801197
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
11811198
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
1199+
gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o=
11821200
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
11831201
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
11841202
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

immutable_tree.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"strings"
66

7+
"cosmossdk.io/log"
78
dbm "github.com/cosmos/cosmos-db"
89
)
910

@@ -14,30 +15,30 @@ import (
1415
// Returned key/value byte slices must not be modified, since they may point to data located inside
1516
// IAVL which would also be modified.
1617
type ImmutableTree struct {
18+
logger log.Logger
19+
1720
root *Node
1821
ndb *nodeDB
1922
version int64
2023
skipFastStorageUpgrade bool
2124
}
2225

2326
// NewImmutableTree creates both in-memory and persistent instances
24-
func NewImmutableTree(db dbm.DB, cacheSize int, skipFastStorageUpgrade bool) *ImmutableTree {
27+
func NewImmutableTree(db dbm.DB, cacheSize int, skipFastStorageUpgrade bool, lg log.Logger) *ImmutableTree {
2528
if db == nil {
2629
// In-memory Tree.
2730
return &ImmutableTree{}
2831
}
29-
return &ImmutableTree{
30-
// NodeDB-backed Tree.
31-
ndb: newNodeDB(db, cacheSize, nil),
32-
skipFastStorageUpgrade: skipFastStorageUpgrade,
33-
}
32+
33+
return NewImmutableTreeWithOpts(db, cacheSize, nil, skipFastStorageUpgrade, lg)
3434
}
3535

3636
// NewImmutableTreeWithOpts creates an ImmutableTree with the given options.
37-
func NewImmutableTreeWithOpts(db dbm.DB, cacheSize int, opts *Options, skipFastStorageUpgrade bool) *ImmutableTree {
37+
func NewImmutableTreeWithOpts(db dbm.DB, cacheSize int, opts *Options, skipFastStorageUpgrade bool, lg log.Logger) *ImmutableTree {
3838
return &ImmutableTree{
39+
logger: lg,
3940
// NodeDB-backed Tree.
40-
ndb: newNodeDB(db, cacheSize, opts),
41+
ndb: newNodeDB(db, cacheSize, opts, lg),
4142
skipFastStorageUpgrade: skipFastStorageUpgrade,
4243
}
4344
}

0 commit comments

Comments
 (0)