Skip to content

Commit

Permalink
fix: iavl grow issue (#535)
Browse files Browse the repository at this point in the history
* iavl grow issue fix

* go mod tidy simapp

* go mod tidy
  • Loading branch information
czarcas7ic authored Feb 22, 2024
1 parent f09bb25 commit 1434d54
Show file tree
Hide file tree
Showing 12 changed files with 36 additions and 36 deletions.
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,12 @@ require (
github.com/cometbft/cometbft-db v0.7.0
github.com/confio/ics23/go v0.9.0
github.com/cosmos/btcutil v1.0.5
github.com/cosmos/cosmos-db v1.0.0
github.com/cosmos/cosmos-proto v1.0.0-beta.2
github.com/cosmos/cosmos-sdk/db v1.0.0-beta.1.0.20220726092710-f848e4300a8a
github.com/cosmos/go-bip39 v1.0.0
github.com/cosmos/gogogateway v1.2.0
github.com/cosmos/gogoproto v1.4.10
github.com/cosmos/iavl v1.0.1
github.com/cosmos/iavl v1.0.2-0.20240221171955-e019f7411ec7
github.com/cosmos/ics23/go v0.10.0
github.com/cosmos/ledger-cosmos-go v0.12.1
github.com/golang/mock v1.6.0
Expand Down Expand Up @@ -90,6 +89,7 @@ require (
github.com/cockroachdb/pebble v0.0.0-20220817183557-09c6e030a677 // indirect
github.com/cockroachdb/redact v1.1.5 // indirect
github.com/coinbase/rosetta-sdk-go/types v1.0.0 // indirect
github.com/cosmos/cosmos-db v1.0.0 // indirect
github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect
github.com/creachadair/taskgroup v0.3.2 // indirect
github.com/danieljoos/wincred v1.1.2 // indirect
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -361,8 +361,8 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ
github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU=
github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI=
github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek=
github.com/cosmos/iavl v1.0.1 h1:D+mYbcRO2wptYzOM1Hxl9cpmmHU1ZEt9T2Wv5nZTeUw=
github.com/cosmos/iavl v1.0.1/go.mod h1:8xIUkgVvwvVrBu81scdPty+/Dx9GqwHnAvXz4cwF7RY=
github.com/cosmos/iavl v1.0.2-0.20240221171955-e019f7411ec7 h1:RUVbQo6VsQJQWPZr0N7kTX+RlnA5NhCn8N3UqOjU+m8=
github.com/cosmos/iavl v1.0.2-0.20240221171955-e019f7411ec7/go.mod h1:jLeUvm6bGT1YutCaL2fIar/8vGUE8cPZvh/gXEWDaDM=
github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM=
github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0=
github.com/cosmos/keyring v1.2.0 h1:8C1lBP9xhImmIabyXW4c3vFjjLiBdGCmfLUfeZlV1Yo=
Expand Down
2 changes: 1 addition & 1 deletion simapp/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ require (
github.com/cosmos/go-bip39 v1.0.0 // indirect
github.com/cosmos/gogogateway v1.2.0 // indirect
github.com/cosmos/gogoproto v1.4.10 // indirect
github.com/cosmos/iavl v1.0.1 // indirect
github.com/cosmos/iavl v1.0.2-0.20240221171955-e019f7411ec7 // indirect
github.com/cosmos/ics23/go v0.10.0 // indirect
github.com/cosmos/ledger-cosmos-go v0.12.1 // indirect
github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect
Expand Down
4 changes: 2 additions & 2 deletions simapp/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -358,8 +358,8 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ
github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU=
github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI=
github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek=
github.com/cosmos/iavl v1.0.1 h1:D+mYbcRO2wptYzOM1Hxl9cpmmHU1ZEt9T2Wv5nZTeUw=
github.com/cosmos/iavl v1.0.1/go.mod h1:8xIUkgVvwvVrBu81scdPty+/Dx9GqwHnAvXz4cwF7RY=
github.com/cosmos/iavl v1.0.2-0.20240221171955-e019f7411ec7 h1:RUVbQo6VsQJQWPZr0N7kTX+RlnA5NhCn8N3UqOjU+m8=
github.com/cosmos/iavl v1.0.2-0.20240221171955-e019f7411ec7/go.mod h1:jLeUvm6bGT1YutCaL2fIar/8vGUE8cPZvh/gXEWDaDM=
github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM=
github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0=
github.com/cosmos/keyring v1.2.0 h1:8C1lBP9xhImmIabyXW4c3vFjjLiBdGCmfLUfeZlV1Yo=
Expand Down
10 changes: 5 additions & 5 deletions store/cache/cache_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import (
)

func TestGetOrSetStoreCache(t *testing.T) {
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())
mngr := cache.NewCommitKVStoreCacheManager(cache.DefaultCommitKVStoreCacheSize)

sKey := types.NewKVStoreKey("test")
Expand All @@ -30,7 +30,7 @@ func TestGetOrSetStoreCache(t *testing.T) {
}

func TestUnwrap(t *testing.T) {
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())
mngr := cache.NewCommitKVStoreCacheManager(cache.DefaultCommitKVStoreCacheSize)

sKey := types.NewKVStoreKey("test")
Expand All @@ -43,7 +43,7 @@ func TestUnwrap(t *testing.T) {
}

func TestStoreCache(t *testing.T) {
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())
mngr := cache.NewCommitKVStoreCacheManager(cache.DefaultCommitKVStoreCacheSize)

sKey := types.NewKVStoreKey("test")
Expand All @@ -69,7 +69,7 @@ func TestStoreCache(t *testing.T) {
}

func TestReset(t *testing.T) {
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())
mngr := cache.NewCommitKVStoreCacheManager(cache.DefaultCommitKVStoreCacheSize)

sKey := types.NewKVStoreKey("test")
Expand All @@ -89,7 +89,7 @@ func TestReset(t *testing.T) {
}

func TestCacheWrap(t *testing.T) {
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())
mngr := cache.NewCommitKVStoreCacheManager(cache.DefaultCommitKVStoreCacheSize)

sKey := types.NewKVStoreKey("test")
Expand Down
2 changes: 1 addition & 1 deletion store/iavl/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ func LoadStore(db dbm.DB, logger log.Logger, key types.StoreKey, id types.Commit
// provided DB. An error is returned if the version fails to load, or if called with a positive
// version on an empty tree.
func LoadStoreWithInitialVersion(db dbm.DB, logger log.Logger, key types.StoreKey, id types.CommitID, initialVersion uint64, cacheSize int, disableFastNode bool) (types.CommitKVStore, error) {
tree := iavl.NewMutableTree(wrapper.NewCosmosDB(db), cacheSize, disableFastNode, clog.NewNopLogger(), iavl.InitialVersionOption(initialVersion))
tree := iavl.NewMutableTree(wrapper.NewIAVLDB(db), cacheSize, disableFastNode, clog.NewNopLogger(), iavl.InitialVersionOption(initialVersion))

isUpgradeable, err := tree.IsUpgradeable()
if err != nil {
Expand Down
18 changes: 9 additions & 9 deletions store/iavl/store_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ func randBytes(numBytes int) []byte {

// make a tree with data from above and save it
func newAlohaTree(t *testing.T, db dbm.DB) (*iavl.MutableTree, types.CommitID) {
dbt := wrapper.NewCosmosDB(db)
dbt := wrapper.NewIAVLDB(db)
tree := iavl.NewMutableTree(dbt, cacheSize, false, log.NewNopLogger())

for k, v := range treeData {
Expand Down Expand Up @@ -281,7 +281,7 @@ func TestIAVLIterator(t *testing.T) {
}

func TestIAVLReverseIterator(t *testing.T) {
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())

tree := iavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())

Expand Down Expand Up @@ -314,7 +314,7 @@ func TestIAVLReverseIterator(t *testing.T) {
}

func TestIAVLPrefixIterator(t *testing.T) {
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())
tree := iavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())

iavlStore := UnsafeNewStore(tree)
Expand Down Expand Up @@ -377,7 +377,7 @@ func TestIAVLPrefixIterator(t *testing.T) {
}

func TestIAVLReversePrefixIterator(t *testing.T) {
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())
tree := iavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())

iavlStore := UnsafeNewStore(tree)
Expand Down Expand Up @@ -444,7 +444,7 @@ func nextVersion(iavl *Store) {
}

func TestIAVLNoPrune(t *testing.T) {
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())
tree := iavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())

iavlStore := UnsafeNewStore(tree)
Expand All @@ -462,7 +462,7 @@ func TestIAVLNoPrune(t *testing.T) {
}

func TestIAVLStoreQuery(t *testing.T) {
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())
tree := iavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())

iavlStore := UnsafeNewStore(tree)
Expand Down Expand Up @@ -564,7 +564,7 @@ func TestIAVLStoreQuery(t *testing.T) {

func BenchmarkIAVLIteratorNext(b *testing.B) {
b.ReportAllocs()
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())
treeSize := 1000
tree := iavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())

Expand Down Expand Up @@ -599,7 +599,7 @@ func TestSetInitialVersion(t *testing.T) {
{
"works with a mutable tree",
func(db *dbm.MemDB) *Store {
dbt := wrapper.NewCosmosDB(db)
dbt := wrapper.NewIAVLDB(db)
tree := iavl.NewMutableTree(dbt, cacheSize, false, log.NewNopLogger())
store := UnsafeNewStore(tree)

Expand All @@ -609,7 +609,7 @@ func TestSetInitialVersion(t *testing.T) {
{
"throws error on immutable tree",
func(db *dbm.MemDB) *Store {
dbt := wrapper.NewCosmosDB(db)
dbt := wrapper.NewIAVLDB(db)
tree := iavl.NewMutableTree(dbt, cacheSize, false, log.NewNopLogger())
store := UnsafeNewStore(tree)
_, version, err := store.tree.SaveVersion()
Expand Down
2 changes: 1 addition & 1 deletion store/iavl/tree_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import (

func TestImmutableTreePanics(t *testing.T) {
t.Parallel()
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())
immTree := iavl.NewImmutableTree(db, 100, false, log.NewNopLogger())
it := &immutableTree{immTree}
require.Panics(t, func() { it.Set([]byte{}, []byte{}) })
Expand Down
2 changes: 1 addition & 1 deletion store/prefix/store_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ func testPrefixStore(t *testing.T, baseStore types.KVStore, prefix []byte) {
}

func TestIAVLStorePrefix(t *testing.T) {
db := wrapper.NewCosmosDB(dbm.NewMemDB())
db := wrapper.NewIAVLDB(dbm.NewMemDB())
tree := tiavl.NewMutableTree(db, cacheSize, false, log.NewNopLogger())
iavlStore := iavl.UnsafeNewStore(tree)

Expand Down
18 changes: 9 additions & 9 deletions store/wrapper/tmdb.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ package wrapper

import (
tdbm "github.com/cometbft/cometbft-db"
cdbm "github.com/cosmos/cosmos-db"
iavldb "github.com/cosmos/iavl/db"
)

type DBWrapper struct {
db tdbm.DB
}

func NewCosmosDB(db tdbm.DB) cdbm.DB {
func NewIAVLDB(db tdbm.DB) iavldb.DB {
return &DBWrapper{db: db}
}

Expand Down Expand Up @@ -37,21 +37,21 @@ func (db *DBWrapper) DeleteSync(key []byte) error {
return db.db.DeleteSync(key)
}

func (db *DBWrapper) Iterator(start, end []byte) (cdbm.Iterator, error) {
func (db *DBWrapper) Iterator(start, end []byte) (iavldb.Iterator, error) {
it, err := db.db.Iterator(start, end)
return it.(cdbm.Iterator), err
return it.(iavldb.Iterator), err
}

func (db *DBWrapper) ReverseIterator(start, end []byte) (cdbm.Iterator, error) {
func (db *DBWrapper) ReverseIterator(start, end []byte) (iavldb.Iterator, error) {
it, err := db.db.ReverseIterator(start, end)
return it.(cdbm.Iterator), err
return it.(iavldb.Iterator), err
}

func (db *DBWrapper) NewBatch() cdbm.Batch {
func (db *DBWrapper) NewBatch() iavldb.Batch {
return NewCosmosBatch(db.db.NewBatch())
}

func (db *DBWrapper) NewBatchWithSize(size int) cdbm.Batch {
func (db *DBWrapper) NewBatchWithSize(size int) iavldb.Batch {
return NewCosmosBatch(db.db.NewBatch())
}

Expand All @@ -71,7 +71,7 @@ type BatchWrapper struct {
batch tdbm.Batch
}

func NewCosmosBatch(batch tdbm.Batch) cdbm.Batch {
func NewCosmosBatch(batch tdbm.Batch) iavldb.Batch {
return &BatchWrapper{batch: batch}
}

Expand Down
2 changes: 1 addition & 1 deletion tests/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ require (
github.com/cosmos/cosmos-proto v1.0.0-beta.2 // indirect
github.com/cosmos/go-bip39 v1.0.0 // indirect
github.com/cosmos/gogogateway v1.2.0 // indirect
github.com/cosmos/iavl v1.0.1 // indirect
github.com/cosmos/iavl v1.0.2-0.20240221171955-e019f7411ec7 // indirect
github.com/cosmos/ics23/go v0.10.0 // indirect
github.com/cosmos/ledger-cosmos-go v0.12.2 // indirect
github.com/cosmos/rosetta-sdk-go v0.10.0 // indirect
Expand Down
4 changes: 2 additions & 2 deletions tests/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -358,8 +358,8 @@ github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ
github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU=
github.com/cosmos/gogoproto v1.4.10 h1:QH/yT8X+c0F4ZDacDv3z+xE3WU1P1Z3wQoLMBRJoKuI=
github.com/cosmos/gogoproto v1.4.10/go.mod h1:3aAZzeRWpAwr+SS/LLkICX2/kDFyaYVzckBDzygIxek=
github.com/cosmos/iavl v1.0.1 h1:D+mYbcRO2wptYzOM1Hxl9cpmmHU1ZEt9T2Wv5nZTeUw=
github.com/cosmos/iavl v1.0.1/go.mod h1:8xIUkgVvwvVrBu81scdPty+/Dx9GqwHnAvXz4cwF7RY=
github.com/cosmos/iavl v1.0.2-0.20240221171955-e019f7411ec7 h1:RUVbQo6VsQJQWPZr0N7kTX+RlnA5NhCn8N3UqOjU+m8=
github.com/cosmos/iavl v1.0.2-0.20240221171955-e019f7411ec7/go.mod h1:jLeUvm6bGT1YutCaL2fIar/8vGUE8cPZvh/gXEWDaDM=
github.com/cosmos/ics23/go v0.10.0 h1:iXqLLgp2Lp+EdpIuwXTYIQU+AiHj9mOC2X9ab++bZDM=
github.com/cosmos/ics23/go v0.10.0/go.mod h1:ZfJSmng/TBNTBkFemHHHj5YY7VAU/MBU980F4VU1NG0=
github.com/cosmos/keyring v1.2.0 h1:8C1lBP9xhImmIabyXW4c3vFjjLiBdGCmfLUfeZlV1Yo=
Expand Down

0 comments on commit 1434d54

Please sign in to comment.