From 927ed31aa1a7474a6ae66743fbdd97e3201d78ea Mon Sep 17 00:00:00 2001 From: forcodedancing Date: Thu, 24 Aug 2023 15:34:03 -0600 Subject: [PATCH] fix: disable pre deliver when raw db store is used --- baseapp/abci.go | 14 +++++++++++--- store/rootmulti/store.go | 4 ++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/baseapp/abci.go b/baseapp/abci.go index ebabb34864..b8c48adc66 100644 --- a/baseapp/abci.go +++ b/baseapp/abci.go @@ -545,8 +545,10 @@ func (app *BaseApp) PreBeginBlock(req abci.RequestPreBeginBlock) (res abci.Respo app.cms.SetTracingContext(map[string]interface{}{"blockHeight": req.Header.Height}) } - // Initialize the preDeliverTx state. - app.setPreState(req.StateNumber, req.Header) + if app.IsIavlStore() { + // Initialize the preDeliverTx state. + app.setPreState(req.StateNumber, req.Header) + } res = abci.ResponsePrefetch{Code: abci.CodeTypeOK} return @@ -559,6 +561,10 @@ func (app *BaseApp) PreDeliverTx(req abci.RequestPreDeliverTx) { } }() + if !app.IsIavlStore() { + return + } + preState := app.preDeliverStates[req.StateIndex] if preState == nil { return @@ -580,7 +586,9 @@ func (app *BaseApp) PreCommit(req abci.RequestPreCommit) (res abci.ResponsePrefe } }() - app.preDeliverStates[req.StateIndex].ms.Write() + if app.IsIavlStore() { + app.preDeliverStates[req.StateIndex].ms.Write() + } res = abci.ResponsePrefetch{Code: abci.CodeTypeOK} return diff --git a/store/rootmulti/store.go b/store/rootmulti/store.go index 892df8bf32..ef7a5dbc16 100644 --- a/store/rootmulti/store.go +++ b/store/rootmulti/store.go @@ -574,7 +574,7 @@ func (rs *Store) DeepCopyAndCache() types.CacheMultiStore { } else if _, ok := v.(*transient.Store); ok { stores[k] = transient.NewStore() } else if dbStore, ok := v.(commitDBStoreAdapter); ok { - stores[k] = commitDBStoreAdapter{Store: dbadapter.Store{DB: dbStore.Store.DB}} + stores[k] = cache.NewCommitKVStoreCache(commitDBStoreAdapter{Store: dbadapter.Store{DB: dbStore.Store.DB}}, 1000).CommitKVStore } } return cachemulti.NewStore(rs.db, stores, rs.keysByName, rs.traceWriter, rs.getTracingContext()) @@ -598,7 +598,7 @@ func (rs *Store) DeepCopy() *Store { } else if _, ok := v.(*transient.Store); ok { stores[k] = transient.NewStore() } else if dbStore, ok := v.(commitDBStoreAdapter); ok { - stores[k] = commitDBStoreAdapter{Store: dbadapter.Store{DB: dbStore.Store.DB}} + stores[k] = cache.NewCommitKVStoreCache(commitDBStoreAdapter{Store: dbadapter.Store{DB: dbStore.Store.DB}}, 1000).CommitKVStore } }